> On 23 Jun 2016, at 09:26, Denis Gervalle <[email protected]> wrote: > > Hi, > > On Wed, Jun 22, 2016 at 8:13 PM, Eduard Moraru <[email protected]> wrote: > >> Hi, >> >> On Wed, Jun 22, 2016 at 12:57 PM, Vincent Massol <[email protected]> >> wrote: >> >>> >>>> On 22 Jun 2016, at 10:02, Marius Dumitru Florea < >>> [email protected]> wrote: >>>> >>>> +1 >>>> >>>> On Tue, Jun 21, 2016 at 7:00 PM, Vincent Massol <[email protected]> >>> wrote: >>>> >>>>> Hi devs, >>>>> >>>>> I’m transforming the brainstorming that was started in the thread >>>>> http://markmail.org/message/exlndbq3tw2thmmu into a VOTE mail since >>> this >>>>> is a very important decision. >>>>> >>>>> So I’m asking you to vote for defining a new direction for the XWiki >>> Core >>>>> Dev Team (i.e. for the XWiki GitHub Organization). The need was >>> triggered >>>>> by the Tour and CKEditor extensions which are currently in >> xwiki-contrib >>>>> and that we want our users to have by default. For more details see >> this >>>>> thread: http://markmail.org/message/exlndbq3tw2thmmu >>>>> >>>>> So here’s the strategy: >>>>> >>>>> * Make XWiki Github org == minimal runtime, where minimal means “basic >>>>> wiki” (page edition, history, linking, wiki markup, etc). The notion >> of >>>>> “basic wiki” would need to be better defined but this can be done >> later >>> on. >>>>> * Provide a "Base Flavor" which corresponds to this “basic wiki”, as >>> part >>>>> of xwiki-platform (this would be xwiki-platform-distribution). >>>>> * Provide another flavor, the "Default Flavor” which would add some >>>>> hand-picked third-party extensions (i.e. from contrib) such as the >> Tour >>> app >>>>> and CKEditor (to start with, we could also add the markdown syntax for >>>>> example which is one of the most asked syntaxes). Note that this >> Default >>>>> Flavor would actually be a “replacement" of xwiki-enterprise. >>>>> >>>> >>>> >>>>> * The Default Flavor would have at least the same release cycle as the >>>>> base flavor but it could have more releases (if some of the bundled >>>>> third-party extensions has some important bug fixes or new features >>> that we >>>>> want to offer quickly without waiting for the next base flavor >> release). >>>>> >>>> >>>> I don't think we need to release the Default Flavor more often than the >>>> Base Flavor because with this new strategy the users can upgrade >>> individual >>>> extensions (those that are not in the Base Flavor) without upgrading >> the >>>> WAR. >>> >>> As I said, if we find some important bug (for example) and this bug is >>> only in one of the 3rd party extensions, it would be a pity not to >> release >>> just the Default Flavor IMO and wait for 2 months more. Even if users can >>> upgrade their extensions, it’s better that users new to XWiki >>> download/install the best possible version right away instead of having >> to >>> upgrade. >>> >>> We’ll see when the need arises but I don’t think we should stop ourselves >>> from this possibility. Technically this means putting the Default Flavor >> in >>> a separate github repo (same as xwiki-enterprise being in a separate >> repo). >>> We need to discuss how we do it: >>> - consider it’s XE for now and just add the 2 deps of Tour and CK to XE >>> - introduce a new repo for the default flavor and do the build for it and >>> deprecate XE in favor of it. For now we probably need to hardcode the >>> flavor id in the platform WAR till we’re ready to have the flavor >> selection >>> screen at startup (and for HSQLDB/Jetty packaging we need a hard-coded >>> flavor anyway). >>> >> >> I`m personally sensing that we may have a bit of a confusion here between >> the notion of separate release cycles and the repo in which an extension >> should be located. >> >> AFAIU, the top priority and the actual problem that we want to fix here >> (mainly for our users and XWIki`s flexibility) is to allow extensions to >> have independent release cycles. Moving stuff to contrib just got somehow >> into the discussion as a consequence of the old way we used to handled >> things (xwiki org = monolith, single version; contrib org = distributed; >> independent versions). >> >> In the past, people (including myself) were pushing to move modules to >> contrib for the independent versioning feature of contrib, but not >> necessarily for the "openness for anyone to commit" feature of contrib. >> That last feature was actually a downside to the quality aspect. If we >> handle independent versioning within the xwiki GitHub organization, then we >> will no longer have this downside and we will be able to properly control >> the quality. This would mean that the Default Flavor would be in a repo >> under the xwiki org (similar to xwiki-enterprise, as Vincent's proposal) >> and I would even go as far as suggesting that all the dependencies of the >> Default Flavor should be located/moved within the xwiki org, perhaps in >> some xwiki-extensions repo (that we were talking about at some point). >> > > While I agree with your reasoning about why we like the move to contrib for > extensions, if you remember well our discussion about the repositories, the > reason that we have somehow abandoned the idea of a xwiki-extension repo > was mainly to avoid moving sources from one repository to another. > > I am still convinced that the drawback of moving sources is worse than the > risk of seeing very bad quality code being committed to a contrib > extension. Just look at the CKEditor one which live in contrib since a > while, does it receive any bad contribution (or even an external > contribution at all) ? I doubt, and if anything bad happen, I am > convinced Marius will notice and react. So I am not sure your fears are > justified at the moment. > > If our community were growing more, and the quality of some extensions > start to be an issue, it will still be the time to move them to a safer > place, or to strengthen the access right on contrib repositories. But I > would like to trust the community to be responsible, and that this time > will never happen. I would like to hope for the best, which would be that > our community will grow thanks to how easier it will be to participate, and > that good developers will join and help improve the overall quality. Let’s > us not under estimate how responsible the OS community could be.
<fun, please don’t consider it seriously> I agree with this but just for the fun of it (cannot resist, sorry ;)): If you push this reasoning you could also consider moving everything from the xwiki github org into the xwiki-contrib org... But wait, this is the same as actually moving everything from contrib to the xwiki github org too and relaxing committership rules :) </fun, please don’t consider it seriously> Thanks -Vincent > Thanks, > > >> >> I agree that this might sound a bit like going in circles, but IMO it`s not >> entirely true, now that we introduce independent versioning in the >> discussion, since it fixes a lot of problems we have in the previous >> discussions were we were wrongly using Contrib, to compensate for it, since >> the xwiki org was a big monolith. >> >> Now what happens to the remaining modules inside xwiki-platform and the >> Base Flavor, I would guess that, at least at the beginning, they will >> continue to function as a monolith, at least until we decide to tackle the >> notion of "core" dependencies and if we want to do something about them >> (see my note about this on the previous thread). >> >> WDYT? >> >> Thanks, >> Eduard >> >> So, having that in mind, I would think of some questions: >> - >> >>> >>> Thanks >>> -Vincent >>> >>>> Currently the users cannot upgrade the Blog because the new version of >>>> the Blog depends on a new version of the XWiki WAR. With this new >>> strategy >>>> the users will be able to upgrade the Blog (considering that the Blog >> is >>>> not part of the Base Flavor). >>>> >>>> On the same topic, we have the Extension Updater administration section >>>> where users can check for extension updates. The problem is that the >>>> extensions included in a flavor are considered dependencies of the >> flavor >>>> and thus are installed as dependencies which means the Extension >> Updater >>>> cannot separate them from other technical dependencies and thus won't >>> check >>>> for their updates. Ideally a flavor should be a pack of extensions that >>> are >>>> installed explicitly (not as dependencies). This way the Extension >>> Updater >>>> can propose updates and at the same time the users can uninstall >>> extensions >>>> from a flavor without removing the flavor. >>>> >>>> Thanks, >>>> Marius >>>> >>>> >>>>> * The consequence is that the XWiki Dev Team would need to be a bit >> more >>>>> careful to monitor the quality of bundled third-party extensions in >>> contrib >>>>> (check commits, do some smoke testing, etc). Note that the goal of the >>>>> Default flavor would not be to offer verticals (for this there should >> be >>>>> some contrib flavors) and thus it wouldn’t bundle a lot of third-party >>>>> extensions. Basically we’ll need to validate the version of those >>>>> third-party extensions that include in the flavor. >>>>> >>>>> My POV is that globally this would offer more flexibility for our >> users >>>>> (they’ll be able to install extensions such as CK and Tour in older >>> XWiki >>>>> versions and they’ll get more frequent releases) at the cost of some >>>>> overhead to develop extensions that work in several versions. The dev >>> team >>>>> is pretty small and thus it means developing a bit less fast but it’s >>>>> probably as important, if not more important, to make the code we >>> develop >>>>> available in older xwiki versions, as XWiki gains traction. >>>>> >>>>> Here’s my +1 >>>>> >>>>> Please cast your vote. >>>>> >>>>> Thanks >>>>> -Vincent _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

