Looks good, +1.

On Mon, Jan 18, 2016 at 5:05 PM, [email protected] <[email protected]> wrote:
> Hi devs,
>
> Since the first 2 takes did not pas, I’m making a new proposal taking into 
> account the latest comments and making the minimal changes from the current 
> situation to get a consensus.
>
> 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, 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 that extensions that were developed inside the xwiki 
> github organization continue to follow the dev practices of 
> http://dev.xwiki.org
>
> Details:
> * We keep the current github organization names for now, i.e. “xwiki” and 
> “xwiki-contrib”.
> * Each extension in xwiki-contrib continues to be an island with a leader 
> (defined in jira) and continues to be able to decide what dev practices it 
> should follow. The leader continues to be the one to contact when needing to 
> perform a release. When the leader goes MIA the next person interested in 
> working on the extension can become its new leader.
> * Since extensions moved from the xwiki github organization should continue 
> to follow all the practices from http://dev.xwiki.org we need a way to 
> indicate this so that code committed against those and PR can be reviewed in 
> light of these practices. Thus we should encourage extensions to have a 
> README file in each repo in xwiki-contrib that defines what practices the 
> extension is following. We’ll also update contrib.xwiki.org with explanations 
> about this (both for extension creators and for contributors to them).
> * Note that on contrib.xwiki.org we will propose a generic template for 
> README files that should exist for all repos in xwiki-contrib. This template 
> will include (but not be limited to): Dev practices to follow, Link to e.x.o, 
> Status of the extension (useful to indicate non-working/abandoned extensions 
> for example), link to its jira.

> * When moving an extension from the xwiki github org to xwiki-contrib, 
> depending on the moved extension, the extension can keep its id (this allows 
> the EM upgrade job to propose upgrading it). Whenever possible the extension 
> id should be updated to follow the rules of contrib.xwiki.org (group id of 
> org.xwiki.contrib, artifact id matching the rules). In addition, since we 
> don’t want to cause API breakages, the java packages can be kept as 
> org.xwiki.* till the next large refactoring of the extension, at which time 
> it should move to org.xwiki.contrib.*. Similarly the version of the moved 
> extension should be kept and not be reset to 1.0-SNAPSHOT. We can probably 
> develop some EM tooling in the future to handle relocation of extension id 
> transparently.

For now it's safer to allow keeping the same id but here are some
reading about extensions upgrades and ids modifications:
* Maven provide some relocation system (basically you release a new
version of the old id which will be used as redirect to the new one)
but need to test how well EM supports it
* Right now we deal with previous id by listing them as features but
feature can also be used for other things like indicating embedded
extensions or actual features/API implemented by several
implementations that can't be installed at the same time. We would
probably need to make it more explicit what was a previous id of the
extension in a different property so that we can safely search for it
in extensions.xwiki.org
* By default upgrade manager only search for extensions explicitly
installed by user (so not installed as dependency) so extensions
installed as XE dependencies for example are not checked anyway

>
> Please cast your vote.
>
> Here’s my +1
>
> Thanks
> -Vincent
>
> PS: The previous 2 takes were proposal but I’m making it a VOTE now because I 
> believe the “XWiki Core” strategy is important enough so that we need to be 
> sure that committers agree (based on our voting rules).
>
> On 2 Aug 2015 at 19:43:18, [email protected] 
> ([email protected](mailto:[email protected])) 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, [email protected] 
>> ([email protected](mailto:[email protected])) 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
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to