Again, I am under the impression that two different aspects are mixed here:
source code location, and binary artefact publication.
So my proposal is to only have 2 organizations, like today (maybe renamed
xwiki-core and xwiki-extensions for more clarity), and to move extension
out of the core to the contrib (extension) organization in individual
repository (using git subtree as suggested by Thomas).
This is simpler and I do not see any drawbacks for the purpose you pursue.
The rest will be, as Thomas mentioned, a matter of artefact publications,
something really unrelated with the location of sources, and as you
mentioned, that may be discussed in a separate thread.
WDYT ?
On Sun, Aug 2, 2015 at 8:43 PM, vincent(a)massol.net <vincent(a)massol.net>
wrote:
Hi,
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.
WDYT?
Thanks
-Vincent
On 3 Dec 2014 at 15:58:36, vincent(a)massol.net (vincent(a)massol.net(mailto:
vincent(a)massol.net)) wrote:
Hi committers (and devs in general),
I’m submitting to you this idea, to try to improve the xwiki open source
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
http://markmail.org/message/4hglttljiio5v2km
proposal (i.e. the move of
some extensions in the xwiki github organization), which itself was
obsoleting
http://markmail.org/message/ppw2slpgqou2ihai
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 (i.e.
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 all
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.
WDYT?
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Denis Gervalle
SOFTEC sa - CEO
_______________________________________________
devs mailing list
devs(a)xwiki.org