Hi Sergiu/everyone,

See below.

On Jan 13, 2011, at 9:53 PM, Sergiu Dumitriu wrote:

> Hi Community,
> 
> The following message expresses my personal opinions as a member of the 
> community, so it might not be entirely accurate. The goal is to start a 
> discussion about how can we attract more contributors and committers to 
> the XWiki open source project, and will address three main subjects:
> 
> - the current state of the community and committers
> - the possibility of joining or creating a non-profit foundation to 
> govern XWiki
> - the possibility of using Fundry as a way for users to fund XWiki 
> development
> 
> -----
> Status of the community
> 
> At the start of a new year, it's time to look a bit at the status of 
> XWiki, the project and the community.
> 
> XWiki was created by Ludovic Dubost as an open source project from the 
> start. Later, he founded a commercial company (XWiki SAS, back then 
> XPertNet SaRL) as a way to financially support the development of the 
> product. It kept the project entirely open, unlike the many false open 
> source companies that only offer a basic open source version, forcing 
> people to buy the commercial one (the open core model), or that only 
> release the source code while still doing behind-the-curtains 
> development, or that almost completely ignore the outside community.
> 
> See the XWiki SAS values: http://purl.org/xwiki/sas-values and 
> manifesto: http://purl.org/xwiki/sas-manifesto
> 
> The committers, elected for their merit, and not made automatically as 
> employees of the company, always tried to maintain a healthy community 
> and attract new contributors/committers. Thus, the XWiki software is 
> developed not by the XWiki SAS company, but by the XWiki community. 
> http://dev.xwiki.org/xwiki/bin/Community/ has a lot of information about 
> the community, and the development process.
> 
> As of January 2011, there are 16 core committers, 12 of which are XWiki 
> SAS employees, and 3 are or were related to XWiki SAS one way or another.
> http://dev.xwiki.org/xwiki/bin/Community/HallOfFame#HCoreCommitters

I've just updated this page and added an Affiliation column for increased 
transparency:
http://dev.xwiki.org/xwiki/bin/view/Community/HallOfFame

> A big part of the development is aided by non-committer members of the 
> community, either by providing patches, testing and reporting bugs, 
> requesting new features, providing feedback, answering on the mailing 
> lists, etc. As committers, we tried to listen to the community when 
> developing the project, but as paid employees we have to also listen to 
> the company requirements. With a limited manpower it's very hard to 
> evolve as fast as the community would want, or in all the directions 
> that the community wants. And we welcome any help here.
> 
> The project is healthy, we have regular and frequent releases, with 
> visible progress with each new release (see Vincent's statistics on 
> http://massol.myxwiki.org/xwiki/bin/Blog/XWikiIn2010 for more details). 
> Still, I'm a little disappointed with the development speed. Lately, out 
> of the 16 committers on average about 3-4 are actually available for 
> platform development during a day.
> 
> * How can we help speed up the growth of the community?

Find a way to sponsor more people? :)

IMO the community is growing fast. I think you mean the development team 
(committership), right?

> * How can we attract more developers outside XWiki SAS?

(Here's below a repost to an internal mail where we were discussing about 
whether the bar is too high or not to contribute to xwiki's development, with 
slight modifications)

"
I think we need to separate 2 areas:
* core contributions
* extension contributions

This is the same in all open source project (linux core, vs peripheral things). 
The level of quality asked is not the same for core contributions vs extension 
contributions or peripheral domains (non core). I doubt very much that the 
linux kernel accepts contributions that don't have a very good quality level 
for example. Same for Firefox or any other Mozilla project.

In practice I don't think we can expect people external to XWiki SAS or more 
generally people not paid to work on XWiki for 2 reasons:
1) there are committers paid to work daily on them and as such they progress 
much faster than anyone outside could (since those person outside are not paid 
for that and don't have extensible time - they do it in their free time - it's 
almost impossible to follow code and discussions).
2) it requires a high quality level

I'm always surprised and have a great admiration when people succeed in 
contributing to core things, like Sergiu in his time, Denis and Caleb.

Also I think that most open source project have a very small number of people 
who are actually core committers (you can count them on  one or 2 hands). When 
you see open source projects with tons of contributors they're actually 
contributing to peripheral things like: translations, themes, extensions, etc.

What I've been trying to organize since I joined the XWiki project is to 
transform a huge monolithic core into separate domains and submodules in order 
to make contributing easier. The smaller our core becomes and the larger our 
extensions become and the easier it'll be to contribute to them IMO.

We do care about all contributions but the problem is that if you look at the 
patches we have in JIRA (there are 
40:http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10191)
 the huge majority cannot be applied either because they're too generic, 
missing tests, have no documentation, etc. The only way to apply them is to 
spend a considerable amount of time (usually about 3-4 more time than the 
contributor himself/herself has spent). Should we just commit stuff even if 
there are no tests, it's not been validated, doesn't follow our best practices, 
has no documentation, etc? I'd say no since it's increasing our technical debt 
and we (committers) will have to pay it (it's always paid).

So there are several things we can do IMO:
1) architecture improvement:
- Continue moving stuff out of xwiki-core into modules and continue making our 
architecture modular and move things out of the core. 
- With the upcoming extension manager we'll make a giant leap in that direction 
since we'll be able to remove bundled extensions from the core and instead 
allow them to be installed by the user using the extension manager, at runtime.
- Add interface extensions so that contributors can contribute UI extensions to 
XWiki
2) continue reviewing/apply patches when they arrive
3) redesign xwiki.org to make it more participative. See the proposal made for 
the contrbution area, making contributors more visible 
(http://incubator.myxwiki.org/xwiki/bin/view/Improvements/XWikiOrgProposal2)
4) improve the dev documentation on xwiki.org for contributors
5) create a foundation (although I'm not sure it'll help attract developers but 
it's good anyway to have)
6) move to git. This could make it easier for contributors to have their 
branches easily without having to contribute back work to the project (but the 
downside is that contributors may feel less tempted to contribute back stuff)
7) continue promoting contrib.xwiki.org which is an area where we accept all 
contributions without any check
8) set up a bounty system where we advertise bounties. I'm still a bit 
skeptical about it (since it means we'll need to find committers with the time 
to review contributions) but there's only one way to find if it could work.

Then there are more radical ideas:
9) Join another forge (Eclipse, Apache, Codehaus, etc)
10) Merge with another wiki project (for example jspwiki at apache)
11) find more money to be able to pay for more developers. This could mean 
accepting donation through the Foundation to pay for bounties for example

We could also propose to more contributors to become committers. Do we have 
people in mind that we think could be committers right now?

The only thing I'm personally not ready to do right now (unless convinced 
otherwise) is to reduce our quality rules and accept any contributions 
independently of their quality. If some of you think we should do this please 
raise it and we can discuss it. Brest is to discuss it practice by practice.

To be honest I think our quality level is not particularly high. We have lots 
of commits done without any test for example.

Sonar provides a good view of the quality (Globally we seem to be improving on 
most fronts but not that much):
http://nemo.sonarsource.org/dashboard/index/178313
"

> -----
> Joining/forming a free software foundation
> 
> One possible reason while so few people are willing to become committers 
> could be that XWiki SAS might appear to over-control the software, and a 
> clear non-profit foundation on top of XWiki might make it more obvious 
> that XWiki is a true open source project, and anybody is welcome to join.

I don't think this is the case but I may be wrong. IMO it's more that XWiki SAS 
sponsors a lot of devs to work full time on XWiki dev thus making it less 
needed for others to contribute to get what they need (they just have to wait 
for it to become available in the product)...

> XWiki SAS is a member of the OW2 consortium http://ow2.org/ , and this 
> membership also extends a bit to the XWiki project. OW2 used to host all 
> our infrastructure, SVN, mailing lists, downloads... Currently only the 
> official downloads linked from the main download page are hosted on OW2 
> servers, as we've gradually moved parts of the development 
> infrastructure on servers provided by XWiki SAS.
> 
> While OW2 is a great home for XWiki SAS, it's mostly a company 
> consortium, not a software development foundation. The most development 
> help coming from OW2 consists of research projects involving both OW2 
> and XWiki SAS, thus the OW2 membership doesn't bring much value when it 
> comes to code.
> 
> One option is to form an XWiki non-profit Foundation, which will govern 
> all XWiki-related software development. The main disadvantage would be 
> that there's a risk that it won't make any difference at all, while 
> adding the burden of more paperwork. This is where your opinion comes 
> into play, since there's no point in doing all the hard work if the 
> community doesn't see a clear benefit in it.

+1 for creating a Foundation for me. It has some advantages:

* Clearer separation between XWiki SAS and the XWiki open source project (even 
though the roles and boundaries are already very clear). It would help for 
example for Ludovic Dubost (who owns the XWiki mark) to license it to the 
community)
* Ability to accept donations
* Have an official entity that we can use in events, marketing messages for the 
open source project, etc
* Ability to have people representing the full ecosystem at the board of the 
foundation (we'd need to decide on a governance model)

> The Apache Foundation has the huge disadvantage that it requires a 
> license change, but it's a very well known home for software 
> development, with good visibility.

Yes visibility would be multiplied x10 but it's has its drawbacks too:
* license change
* slower pace (when requiring infra softare or machines for example)
* more "bureaucratic"

> The Software Freedom Conservancy has been getting a lot of press 
> recently, since several high profile projects joined it. It's got a few 
> top-notch projects under its hood, so XWiki would be among well known 
> projects in there.

Would need to check this out, never heard about it.

> A smaller, compatible alternative is Codehaus, but I'm not convinced 
> they would make a difference with respect to our needs.

Agreed.

> Other foundations aren't really suited for XWiki, since they either 
> don't bring value to the community because they don't foster 
> inter-project collaboration (SourceForge, Google Code), or don't match 
> the project goals (FSF, GNU, Eclipse, Linux, Mozilla...).

Except potentially merging the XWiki Rendering engine/WikiModel with Eclipse's 
WikiText project but that's a specific topic in itself.
BTW that rendering engine could also be proposed to the ASF too should we want 
that, we don't have to move the whole XWiki project.

> So, some questions in regard to this subject:
> 
> * Is there anybody that would like contribute more / become a committer?
> * Do users believe that a foundation on top of XWiki will help attract 
> more developers?
> 
> Please note that this is not THE discussion about which foundation to 
> join, just trying to see if there is a benefit in doing so.
> 
> -----
> Supporting code development
> 
> Becoming a committer requires time, and few people can spend that time 
> when there's no direct benefit involved. XWiki SAS employees are already 
> being paid to work with XWiki, so they can contribute to the platform 
> because the company benefits directly from their work. Employees of 
> other companies that deal with XWiki do spend time contributing, but 
> very few actually got to hang around enough to be voted as committers, 
> although many came close, but stopped short of it.
> 
> One way of supporting code development is to contact XWiki SAS and sign 
> a contract to develop one or more features with a higher priority.
> 
> An alternative, which allows to share the cost with other 
> companies/individuals, is to collaboratively request and support feature 
> development (crowdfunding), for example through Fundry, a new site 
> especially designed for this. I've set up an account for XWiki at 
> https://fundry.com/project/58-xwiki . This is also a good place to 
> donate to the XWiki project, since there are no visible ways to 
> financially support the project.
> 
> Fundry would allow to gather financial incentives for non-employees to 
> contribute more code, thus involving the community more in the direction 
> the software evolves, and attracting more potential contributors.
> 
> * Do you (the community) think this is a good idea and it would help?
> * Would you be willing to contribute/donate to the project?

+1 for setting up that Foundry/Bounty system from me. Where do the money goes 
to? Do they handle that (playing the man in the middle)?

Thanks
-Vincent

> -----
> 
> Please provide us with your feedback, so we can advance on these topics.
> 
> Thanks,
> -- 
> Sergiu Dumitriu
> http://purl.org/net/sergiu/
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to