|vinc...@massol.net||Dec 3, 2014 6:57 am|
|Thomas Mortagne||Dec 3, 2014 7:16 am|
|Eduard Moraru||Dec 3, 2014 1:35 pm|
|vinc...@massol.net||Dec 4, 2014 12:44 am|
|Guillaume "Louis-Marie" Delhumeau||Dec 4, 2014 1:28 am|
|vinc...@massol.net||Dec 4, 2014 1:37 am|
|Ecaterina Moraru (Valica)||Dec 4, 2014 4:35 am|
|Marius Dumitru Florea||Dec 5, 2014 7:19 am|
|Denis Gervalle||Dec 6, 2014 12:56 pm|
|Thomas Mortagne||Dec 7, 2014 1:52 am|
|vinc...@massol.net||Aug 2, 2015 10:43 am|
|Gabriela Smeria||Aug 7, 2015 2:46 am|
|Eduard Moraru||Aug 7, 2015 7:52 am|
|Thomas Mortagne||Aug 7, 2015 8:06 am|
|Denis Gervalle||Aug 8, 2015 2:58 pm|
|Marius Dumitru Florea||Aug 19, 2015 2:07 am|
|vinc...@massol.net||Jan 18, 2016 8:05 am|
|Thomas Mortagne||Jan 18, 2016 8:22 am|
|Denis Gervalle||Jan 18, 2016 11:37 am|
|Eduard Moraru||Jan 18, 2016 1:27 pm|
|Marius Dumitru Florea||Jan 18, 2016 10:06 pm|
|Guillaume "Louis-Marie" Delhumeau||Jan 19, 2016 1:24 am|
|Ecaterina Moraru (Valica)||Jan 19, 2016 3:00 am|
|vinc...@massol.net||Jan 19, 2016 8:17 am|
|vinc...@massol.net||Jan 21, 2016 3:28 am|
|Subject:||Re: [xwiki-devs] [Proposal] XWiki Core - Second take|
|From:||Thomas Mortagne (thom...@xwiki.com)|
|Date:||Aug 7, 2015 8:06:58 am|
On Fri, Aug 7, 2015 at 4:52 PM, Eduard Moraru <enyg...@gmail.com> wrote:
I have re-read the original thread and scanned the remarks done by Denis and I have to say that I kind of agree with him on some aspects (or at least with what I understood from his message since I scanned it quite quickly).
Basically, I also don`t see much point/value in splitting the code into multiple repositories. IMO, we should only have the xwiki and the contrib organisations and move as much as possible from xwiki to contrib, i.e. move what you call "vertical" extensions to contrib, where everybody can easily contribute like they would to any other extension.
In terms or differentiating between quality, it should just be a matter of community feedback and what the community values to be of quality or not. In other words: ratings, votes, likes, whatever.
The community does not hit the code repositories first to look at where the code is located, but the other way around. A user first hits the XWiki Extensions repository (extensions.xwiki.org) or the Extension Manager UI where he is interested on searching for his needs and deciding based on ratings, community feedback, featured extensions, etc. which result is best for him.
IMO, raising the administrative complexity of the community will not help us work faster/better and will not simplify the contribution process for outsiders, but rather the opposite.
Additionally, there is nothing stopping us, or anybody else for the matter, from setting up additional extension repositories where only hand-picked extensions are published and where users can get certain levels of guarantees on quality, support, etc. But, like Denis say saying, this is about the artefacts, not about the sources.
If we are worried about people from contrib making bad commits on high-profile contrib extensions, we can easily revert and warn the misbehaving user. On 3 strikes he's out. Personally, I find this much simpler and in line with our wishes to simplify administrative tasks (and a bit in line with what we have done for jira where we are giving users more power in handling issues).
P.S.: A reminder to whoever will be doing the moving of code from one repo to another: please! reference the source repository and the source commit ID so that when we use blaim we don`t reach a dead end. Specially if there is no jira issue to track the move, the history is lost to oblivion. (I know it is technically still there, but it's almost impossible to find)
Actually on that subject what I do is copying the history (using the great "git subtree" extension). See https://github.com/xwiki-contrib/xwiki-platform-cache-oscache that I moved recently for example.
On Fri, Aug 7, 2015 at 12:46 PM, Gabriela Smeria <gabr...@xwiki.com> wrote:
Here's my +1 for this proposal. I strongly agree with one change, because I also had it in mind for a while now. And that is: moving the "vertical" modules out of the xwiki github organization repos, since it would be easier for contributors to participate in improving and/or adding extensions and also, IMO, it will decrease the build time.
*Gabriela Smeria* *Web Developer* gabr...@xwiki.com skype: smeria.gabriela
I’d like to progress with this idea so let me summarize this thread’s discussion so far:
* +1 from Thomas, Guillaume, Caty and Marius * No answer from Edy on whether he’s ok with the proposal or not. Edy? :) * Denis seems negative about it but I agree with Thomas’s reply in that the points raised by Denis do not concern this discussion. Denis commented about publishing and installing Extensions, whereas this proposal was only about a location for storing some extensions. Extensions can be developed anywhere and don’t have to go into this new proposed location. Denis, could you please review this new proposal with this in mind? * There were discussions about the name and devs express doubts about using xwiki-contrib-sandbox.
I’d like to progress so here’s my second proposal. It differs from the first proposal on the following points:
* All our code is contributed so I don’t think we need to emphasize this point and I don’t think we need to have “contrib” in the name of the github repos. This will lead to shorter names which is better. * I propose to have 3 github org: ** xwiki-core (currently “xwiki” but we should probably rename it - Github will create redirects and the only downside is that we need to check it out for making repo changes) ** xwiki-extensions (new). For maintained and good quality level extensions, following the charter defined in the first proposal (we’ll tune it). Committers are added extension by extension and will be voted on the devs list for now, by the xwiki core devs (we’ll tune that later on) ** xwiki-incubator (currently “xwiki-contrib” but we should rename it). Extensions in xwiki-extensions that are no longer working with the latest LTS and that nobody is fixing will move back to xwiki-incubator too. * I propose to change the goal of the contrib.xwiki.org wiki and to expand its goal. Right now it’s focused about the xwiki-contrib organization on GitHub. I propose to make it the wiki that explains how to make contributions to the XWiki ecosystem in general. We would move http://dev.xwiki.org/xwiki/bin/view/Community/Contributing + add pages for explaining how to contribute to xwiki-core, xwiki-extensions and xwiki-incubator. * ATM we should continue to use the “org.xwiki.contrib" groupid for code in the xwiki-incubator and xwiki-extensions organizations. Ideally we should use org.xwiki.extension but it’s already used by the Extension module in xwiki-core. An option would have been to use org.xwiki.core for the core but that would break too much code so the only option is to keep having a special prefix for non-core code. Other ideas: “org.xwiki.module”, “org.xwiki.ext”, “org.xwiki.external”, “org.xwiki.addon”. The simplest is to keep “org.xwiki.contrib” I think, WDYT?
Once (and if) we agree on this, I’d like to quickly move some existing extensions from the xwiki-core organization into xwiki-extensions, starting with the FAQ Application, in order to start testing this new organization.
Hi committers (and devs in general),
I’m submitting to you this idea, to try to improve the xwiki open
project and to give it a new dynamism. I believe the topics discussed below are made even more important since we’re soon going to develop the notion of flavors in XWiki.
Note that this proposal obsoletes the
Issues to solve ===============
* The scope of the code maintained by the XWiki Dev Team (== the xwiki github organization) is increasing but the team stays relatively small * The more stuff we move into the repos of the xwiki github
organization, the less easy it is for non-“XWiki Dev Team” committers to participate and we want more contributions
Proposed solution =================
Executive summary: * Reduce the scope of all the code located in the xwiki github organization by only keeping “core” modules * A “core" module is defined by being a generic transversal module
that can be used in lots of XWiki flavors, if not all). This is opposed to “vertical” modules which are modules specific of a usage of XWiki.
** Examples of “core" modules: logging module, configuration module,
distribution wizard, statistics application, annotations, active installs, one base flavor (the “XWiki” flavor), etc
** Example of “vertical” modules: meeting manager application, blog application, FAQ application, flavors (except the base flavor), etc
Some consequences: * We need a new location for several modules that would go out of the xwiki github organization repos * It would be good to separate sandbox extensions from 1st class
extensions that are maintained and developed following best practices. We need some way to maintain the quality of important extensions
Detailed Implementation: * The “xwiki” github organization’s description becomes “XWiki Core” (it’s too complex to rename the org to “xwiki-core” IMO) * “XWiki Dev Team” becomes the “XWiki Core Team” (and committers in there are called “XWiki Core Committers”). * “xwiki-contrib” is split into 2 github organizations (technically we rename it to “xwiki-contrib-sandbox”): ** “xwiki-contrib-sandbox” (or “xwiki-incubator”), where newly proposed extensions or abandoned extensions are located ** “xwiki-contrib-extensions”, where maintained extensions are located. * These 2 organizations are commonly referred to as “XWiki Contrib" * Same as now, anyone requesting a repo in xwiki-contrib-sandbox would
be granted one and he/she’d be given write access to all repos in the xwiki-contrib-sandbox organization.
* We define some rules for graduating from xwiki-contrib-sandbox to xwiki-contrib-extensions. For example: ** The extension should have been in xwiki-contrib-sandbox at least 6
months (this gives time to see if the extension is maintained during that time and will survive the test of time - most extensions will die in the first months)
** The extension should have had more than 2 releases and be published on extensions.xwiki.org(http://extensions.xwiki.org) with documentation ** The extension should work with the latest LTS version of XWiki + the
latest stable version of XWiki (right now that would be 5.4.5 + 6.3). Note that if the extension has to use new API it’s ok that it doesn’t work on the latest LTS.
** Generally follow the practices defined at http://dev.xwiki.org * Each extension in xwiki-extensions has a leader/maintainer. He/she’s
the one proposing to move the extension from xwiki-sandbox to xwiki-extensions. He/she’s responsible for ensuring that the extension gets regular releases and is maintained in general. He/she defines initially the list of committers in his email proposal for moving the extension.
* We create a PMC (Project Management Committee) for XWiki Contrib,
generally in charge of both xwiki-contrib-sandbox and xwiki-contrib-extensions (voting new extensions in xwiki-contrib-extensions, vote new PMC members, etc). To bootstrap it, I would send a mail on devs@ asking who’s interested to be part of this committee. I expect some core committers + some contrib committers to stand up.
* Contrib extensions keep using the org.xwiki.contrib package name and groupid as currently defined at http://contrib.xwiki.org
Note: The idea is that xwiki core is developed as a team maintaining
code in there, xwiki contrib is developed extension by extension (each extension is an island). This allows anyone to propose extensions in XWiki Contrib without the need for everyone to support them.
-- Thomas Mortagne