Reimar Bauer: "Zwölf Jahre Wiki-Software MoinMoin-Entwicklung als Gnu GPLv2+ Projekt"
Der Vortrag schildert, wie sich die MoinMoin Wiki Software über mehr als 10 Jahre entwickelt hat. Eine Vielzahl von Personen haben in unterschiedlichen Disziplinen zu dieser Open Source Software bereits weltweit beigetragen. Sie wird bei vielen anderen großen Projekten eingesetzt wie z.B. Gnome, Ubuntu, Debian, Apache, Skolelinux, Mercurial, Wine.
Es wird ein kurzer Ausblick auf die Version 2.0 und ein Überblick auf die Entwicklungswerkzeuge, die wir heute verwenden, gegeben. Dies zeigt das Zusammenspiel vieler Open Source-Bibliotheken auf und wie wir Entwickler uns gegenseitig motivieren.
Zwölf Jahre Wiki-Software MoinMoin-Entwicklung
|
Beitrag der PyCologne zur Feier des Software Freedom Day in Köln
Reimar.Bauer@pycologne.de
MoinMoin
MoinMoin ist eine Wiki-Software, die in Python geschrieben ist. Derzeit wird an der Version 2.0 entwickelt.
Projekt homepage: http://moinmo.in/MoinMoin2.0
IRC: #moin-dev auf chat.freenode.net
MoinMoin ist Freie Software (Open Source Software) unter der GNU General Public License V2+.
Sie können es verwenden:
als Website, die leicht zu warten ist; https://www.cirrus-rs.de/WhiteBook
als Wissensbasis; http://help.ubuntu.com/community/, http://kernelnewbies.org/
- für Notizen
- um Dokumente zu erstellen
zur Kommunikation wissenschaftlicher Ergebnisse; https://seac4rs.fz-juelich.de
Start des MoinMoin Wiki Software Projekts
|
|
Jürgen Hermann initiierte dieses Python Software Projekt im Jahr 2000. Erstes Release auf sourceforge. Ein Fork von PikiPiki. Wenige Zeilen Code, Grundfunktionalität eines Wikis
http://ftp.heanet.ie/mirrors/sourceforge/m/project/mo/moin/moin/0.1/ 29-Jul-2000 00:29 45K
Repositiory von 1.9 hat über 200MB; Installations Paket komprimiert 36MB 21-Feb-2012 sehr viele Codezeilen, Gut kommentiert
Bis Version 1.6 liegen alle Releases auf sourceforge. Danach auf dem Projektserver http://hg.moinmo.in
Forking
- FOSS Software erlaubt das Teilen von Software und deren Ideen!
- Das Abändern und Weiterbenutzen von Ideen ist erlaubt!
Solche Leitsätze sind wichtig!
Dadurch war und ist es überhaupt erst möglich aus einer GPL Software, hier http://sourcefrog.net/projects/piki/ ein weiteres Projekt zu entwickeln.
MoinMoin steht daher auch unter GPL genauer: GPL V2+
Es gibt auch Forks von MoinMoin, z.B. Sycamore (http://www.projectsycamore.org/MoinMoin)
Wie wird man ein Entwickler
- Man hat eine Idee
http://sourceforge.net/mailarchive/message.php?msg_id=6117023
- Diskussion
- Lernen
- Entwickeln ...
Wege über Stipendien
- Google Summer Of Code (GSOC)
MoinMoin nimmt daran seit 2006 teil
- 27 Studenten betreut
- einige davon sind im Projekt geblieben
- 27 Studenten betreut
- Google Code-In / GHOP
- ist Quasi ein Praktikum für Schüler mit Gewinnchancen
MoinMoin hat bisher 2007, 2010, 2011 daran teilgenommen
- ca. 50 Schüler haben kleine Aufgaben durchgeführt
- ist Quasi ein Praktikum für Schüler mit Gewinnchancen
Wo kann man Helfen / sich Einbringen
- Code entwickeln oder existierenden überarbeiten
- Dokumentieren, Beschreibungen der Software
- Unterstützung der Community, z.B. Entwurf von t-shirts und shops ausfindig machen
- Unit-tests, Qualitätssicherung, Bugs finden und dokumentieren
- Probleme studieren, Recherche und Lösungen kommunizieren
- Anleitungen schreiben, oder Screencasts um anderen den Einstieg zu erleichtern
- Übersetzungen, z.B. Dokumentation in der Muttersprache erstellen.
- Icon Auswahl optimieren, selber entwerfen.
- Verbesserung der UI
- Auf Konferenzen kann man Erlerntes meistens sofort in einer kleinen Runde in seine Anwendung einbauen. (Sprint)
Kommunikation ist alles
IRC : chat.freenode.net (http://moinmo.in/MoinMoinChat)
Wiki : http://moinmo.in
codereview : http://codereview.appspot.com/
bitbucket repos / issue tracker; https://bitbucket.org/thomaswaldmann/moin-2.0/issues
- Meetings auf Konferenzen : europython, mentor summit, pyconde
etherpad : http://etherpad.osuosl.org/
mumble : mumble://moinmo.in/
Mail : http://lists.sourceforge.net/lists/listinfo/moin-user
Moin 2.0
- Refactoring seit 4 Jahren
So siehts heute aus (http://test.moinmo.in)
- Codebasis derzeit ca. 760K komprimiert
- mehrere Forks auf bitbucket um Ideen auszuarbeiten
- mehrere Etherpads zum Diskuttieren, Entwickeln der API
- viele Codereviews
Bibliotheken die wir heute nutzen
- die meisten Entwickler setzen linux ein. Häufig wechseln Entwickler von anderen Lösungen zu linux.
- GPLV2+ kompatibel
'blinker>=1.1', # event signalling (e.g. for cha 'docutils>=0.8.1', # reST markup processing 'Markdown>=2.1.1', # Markdown markup processing 'Flask>=0.8', # micro framework 'Flask-Babel>=0.7', # i18n support 'Flask-Cache>=0.3.4', # caching support 'Flask-Script>=0.3.3', # scripting support 'Flask-Themes>=0.1.3.1', # theme support 'emeraldtree>=0.9.1', # xml processing 'flatland==dev', # repo checkout at revision 269 'Jinja2>=2.6', # template engine 'pygments>=1.4', # src code / text file highligh 'Werkzeug>=0.8.1', # wsgi toolkit 'pytest>=2.1', # pytest is needed by unit tests 'pytest-pep8', # coding style checker 'whoosh>=2.4.0', # needed for indexed search 'sphinx>=1.1', # needed to build the docs 'pdfminer', # pdf -> text/plain conversion 'XStatic>=0.0.2', # support for static file pypi 'XStatic-CKEditor>=3.6.1.2', 'XStatic-jQuery>=1.6.1.4', 'XStatic-jQuery-File-Upload>=4.4.2', 'XStatic-svgweb>=2011.2.3.2', 'XStatic-TWikiDraw-moin>=2004.10.23.2', 'XStatic-AnyWikiDraw>=0.14.2', 'XStatic-svg-edit-moin>=2011.07.07.2', 'pil': ["PIL"], # used by image get for scaling/ 'ldap': ["python-ldap>=2.0.0"], # used by ldap a 'openid': ["python-openid>=2.2.4"], # used by op 'sqla': ["sqlalchemy>=0.7.1"], # used by sqla st 'mongodb': ["pymongo"], # used by mongodb store
Danke
Ich hoffe den einen oder anderen von Euch im nächsten Jahr auf der begrüßen zu dürfen