msnp-Probleme

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
lordmyder

Freitag 7. Dezember 2007, 18:20

Hallo,
ich habe vor einen MSN Messenger mit dem Modul msnp zu programmieren.
Ich habe auf der Seite des Programmieres ein kurzes Tutorial gefunden.
Jetzt habe ich das Problem, dass selbst das Demo-Prog. des Entwicklers bei mir nicht läuft. Es soll sich nur bei MSN anmelden und wenn es angeschrieben wird den Text zurück schreiben.
Das Programm schmeißt mich auch aus meinem MSN Account raus, jedoch erscheint es bei niemanden als "Online". Und auch anschreiben kann man es nicht.
Hat einer von euch eine Idee, was ich falsch mache?

Code: Alles auswählen

import msnp
import time

class MsnChatListener(msnp.ChatCallbacks):
    def message_received(self, passport_id, display_name, text, charset):
        print '%s: %s' % (passport_id, text)
        self.chat.send_message(text, charset)

class MsnListener(msnp.SessionCallbacks):
    def chat_started(self, chat):
        callbacks = MsnChatListener()
        chat.callbacks = callbacks
        callbacks.chat = chat

msn = msnp.Session(MsnListener())
msn.login('tester@hotmail.de', '123456')

while True:
    msn.process(chats = True)
    time.sleep(1)
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Freitag 7. Dezember 2007, 18:47

Haha. Das Problem kenn ich. Ich hab die Library bis letzte Woche für ein Projekt von mir genutzt und musste feststellen, dass das Ding nicht sonderlich viel taugt weil die Microsoft Leute anscheinend das Protokoll geändert haben.
TUFKAB – the user formerly known as blackbird
lordmyder

Freitag 7. Dezember 2007, 18:49

So ein mist. Hattest du das Problem irgendwie alternativ lösen können? Beispielsweise mit nem anderen Modul?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Freitag 7. Dezember 2007, 18:59

lordmyder hat geschrieben:So ein mist. Hattest du das Problem irgendwie alternativ lösen können? Beispielsweise mit nem anderen Modul?
Ich wrappe gerade libpurple als Python Modul. Allerdings für meinen Arbeitsgeber, der das zwar mit der Zeit OSS machen will, aber momentan ist es noch Closed Source. Sorry :-(
TUFKAB – the user formerly known as blackbird
lordmyder

Freitag 7. Dezember 2007, 19:01

Schade, aber kann man wohl nix machen;-)
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Freitag 7. Dezember 2007, 19:09

Schau dir mal Emesene an, Open Source Python MSN Client. Dort müsste alles drin sein:

http://emesene.org/trac/wiki/WikiStart
Costi
User
Beiträge: 544
Registriert: Donnerstag 17. August 2006, 14:21

Freitag 7. Dezember 2007, 21:08

cp != mv
lunar

Freitag 7. Dezember 2007, 23:32

mitsuhiko hat geschrieben:
lordmyder hat geschrieben:So ein mist. Hattest du das Problem irgendwie alternativ lösen können? Beispielsweise mit nem anderen Modul?
Ich wrappe gerade libpurple als Python Modul. Allerdings für meinen Arbeitsgeber, der das zwar mit der Zeit OSS machen will, aber momentan ist es noch Closed Source.
Mich würde jetzt interessieren, auf welcher rechtlichen Grundlage der Quellcode zurückgehalten wird. Soweit ich weiß, steht der gesamte Pidgin Code einschließlich libpurple doch unter der GPL, oder täusche ich mich da?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 7. Dezember 2007, 23:40

Wenn du GPL-Binaries nicht veröffentlichst brauchst du auch den Code nicht zu veröffentlichen.
Wo ich mir nicht sonderlich sicher bin, ist wie das mit `ctypes` ausschaut - abgeleitetes Werk oder nicht?

Wie auch immer, ein Grund für MIT/X11, BSD etc. ist dass man so eine Überlegung gar nicht aufstellen muss. Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt. Habe nun rlwrap genommen, aber wenn ich gucke dass MzScheme in Sarge readline-fähig war und in Etch nicht mehr, dann fehlen mir einfach die Worte.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Samstag 8. Dezember 2007, 12:05

Leonidas hat geschrieben:Wenn du GPL-Binaries nicht veröffentlichst brauchst du auch den Code nicht zu veröffentlichen.
Dann kann man diese Bibliothek aber nur für inhouse Entwicklungen nutzen. Sobald irgendein veröffentlichtes Programm dieses libpurple Binding nutzt, greift die GPL.
Wo ich mir nicht sonderlich sicher bin, ist wie das mit `ctypes` ausschaut - abgeleitetes Werk oder nicht?
Ich würde im Zweifel eher darauf tippen, dass das auch ein abgeleitetes Werk ist... allerdings bin ich kein Jurist. Das wäre vielleicht mal was für den Rechtsrat des LinMag ;)
Wie auch immer, ein Grund für MIT/X11, BSD etc. ist dass man so eine Überlegung gar nicht aufstellen muss.
Ein Grund gegen diese Lizenzen ist, dass sie Freiheit nicht erzwingen.
Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt.
Tja, beim readline Modul in Python gilt allerdings die Python-Lizenz, zumal man sich bei "import readline" gar nicht sicher sein kann, welche Bibliothek mit welcher Lizenz letztendlich verwendet wird.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Samstag 8. Dezember 2007, 12:10

lunar hat geschrieben:Mich würde jetzt interessieren, auf welcher rechtlichen Grundlage der Quellcode zurückgehalten wird. Soweit ich weiß, steht der gesamte Pidgin Code einschließlich libpurple doch unter der GPL, oder täusche ich mich da?
Wir haben nicht vor den Quellcode weiterzugeben. Von daher ist die GPL nicht sonderlich relevant.
TUFKAB – the user formerly known as blackbird
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Samstag 8. Dezember 2007, 12:11

lunar hat geschrieben:
Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt.
Tja, beim readline Modul in Python gilt allerdings die Python-Lizenz, zumal man sich bei "import readline" gar nicht sicher sein kann, welche Bibliothek mit welcher Lizenz letztendlich verwendet wird.
Wage ich zu bezweifeln. Nicht umsonst kommt Python auf OS X ohne readline.
TUFKAB – the user formerly known as blackbird
lunar

Samstag 8. Dezember 2007, 12:42

mitsuhiko hat geschrieben:
lunar hat geschrieben:Mich würde jetzt interessieren, auf welcher rechtlichen Grundlage der Quellcode zurückgehalten wird. Soweit ich weiß, steht der gesamte Pidgin Code einschließlich libpurple doch unter der GPL, oder täusche ich mich da?
Wir haben nicht vor den Quellcode weiterzugeben. Von daher ist die GPL nicht sonderlich relevant.
Uh? Dieser Satz ist so wie er dasteht schlicht falsch. Ob du den Quellcode weitergeben willst oder nicht, berührt die Gültigkeit der GPL gar nicht. Die GPL zwingt dich zur Freigabe des Quellcodes, sobald du dein Binding in welcher Form auch immer verteilst.

Ansonsten wäre die GPL ja sinnlos, dann könnte ja jeder sagen, "ich will nicht", und die GPL wäre hinfällig.

Ich deute den Satz also mal so: "Wir haben nicht vor das Binding weiterzugeben. Von daher ist die GPL nicht sonderlich relevant."

So würde der Satz auch Sinn machen.
mitsuhiko hat geschrieben:
lunar hat geschrieben:
Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt.
Tja, beim readline Modul in Python gilt allerdings die Python-Lizenz, zumal man sich bei "import readline" gar nicht sicher sein kann, welche Bibliothek mit welcher Lizenz letztendlich verwendet wird.
Wage ich zu bezweifeln. Nicht umsonst kommt Python auf OS X ohne readline.
Mag sein. Allerdings erwähnt die Doku nirgendwo eine gesonderte Lizenz für readline. Außerdem gelten für alternative Readline-Implementierungen (z.B. pyreadline) andere Lizenzen. Auf einem Windows-System mit installiertem pyreadline würde die BSD Lizenz bei "import readline" greifen.

Nicht zuletzt baut ipython stark auf readline auf, und unterliegt trotzdem der BSD Lizenz.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 8. Dezember 2007, 12:48

ipython ist aber auch kein abgeleitetes Werk von readline.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Samstag 8. Dezember 2007, 13:00

Leonidas hat geschrieben:ipython ist aber auch kein abgeleitetes Werk von readline.
Woran machst du das fest?

ipython importiert readline, was man ja nach Auffassung durchaus als das Python-Äquivalent zum Linken ansehen kann. Aus dieser Perspektive besehen kann man also durchaus von einem abgeleiteten Werk sprechen.

Allerdings ist die Situation im Bezug auf Python-Module sowieso unklar, da die in der GPL verwendeten Termini (Linken, Compilieren, Binär, etc.) bei Python nicht anwendbar sind.

Wie dem auch sei, es geht ja hier nicht um ipython, sondern um mitsuhikos Binding. Und das fällt - sofern es als Erweiterung realisiert ist - definitiv in die Kategorie "abgeleitetes Werk". Bei Verwendung von ctypes ist die Situation zwar schwieriger, aber ich würde auch hier von einem abgeleiteten Werk ausgehen.
Antworten