Hi devs,
I'd like to propose forking wikimodel (
http://code.google.com/p/wikimodel/) and move
its source code into our code base in XWiki Rendering as a separate module for now.
Motivation
========
* Wikimodel has been inactive for years (since 2009). Actually that's not quite true,
there's been one developer working on it regularly, it's Thomas Mortagne…
* We heavily depend on wikimodel in the XWiki Rendering module (for our syntax parsers)
which is a key module for XWiki
* It's more difficult for us to contribute to the wikimodel project since it means:
** committing in a different project with different rules
** there's nobody doing releases on the wikimodel projet and we need the releases to
be synced with our releases since otherwise we cannot release on a SNAPSHOT dependency
** there's no community there so it's not fun and doesn't help for quality
control/reviews/etc
** since we push XWiki Commons and XWiki Rendering to Maven Central we also need the
wikimodel releases to be pushed to Central which is not happening now
* The wikimodel project has a different scope than our need. Mikhail (owner and admin of
Wikiodel - not active since 2009 - some commits here and there) wanted it to remain only
for wiki syntaxes. We added support for HTML parsing in it but Mikhail never liked it and
wanted us to move it to XWiki.
* We have some impedance mistmatch between the wikimodel model and the xwiki rendering
model which causes us to do some circumvolution in the code which leads to issues still
beeing open in our JIRA (they've been opened for a long time now)
* We believe wikimodel would benefit from a larger and active community within the XWiki
ecosystem. Wikimodel has been stagnating for years and we'd like it to live on and
evolve.
Action Plan
=========
Thus Thomas and me are proposing to do the following:
* Move the sources in a new rendering module as is and use it as a library (same as now
except we rename the module name and release it under the XWiki umbrella).
* Modify all header to put our LGPL headers everywhere
* We keep the attribution as is recommended by the ASL (see
http://www.apache.org/foundation/license-faq.html#Distribute-changes) by adding a comment
to all sources explaining where the source come from and in which license it was and who
authored the initial code and how XWiki committers have participated to the wikimodel
project. We also put that information in the NOTICE file.
* We modify the source code slowly over time to integrate it cleanly without our code and
remove the hacks we had to do, and we bring improvements
* We post a mail on the wikimodel mailing list explaining all this and inviting the
current wikimodel committers to become committers on the xwiki rendering module (provided
they agree to follow our dev rules). We also explain how contributors can contribute (link
to jira, link to github for pull requests, etc)
Related question (not part of the vote)
=============================
* We could decide to move XWiki Commons and XWiki Rendering under the ASL since
they're libraries and as libraries the ASL is the license that makes it the easier
possible to use from all other licenses. Right now ASL code cannot use our Rendering
module because we're LGPL.
Here's my +1 to this plan.
I'm also currently +1 to brainstorm about moving XWiki Commons and XWiki Rendering to
the ASL.
Thanks
-Vincent