Yes, this could be the easiest way to implement it.
And if and when we will release the "specialpurpose" applications we could 
simply create a tag (if we do not plan to backport fixes for "specialpurpose" 
releases) or we could create a release branch specific for "specialpurpose" (if 
we do not want to backport fixes for "specialpurpose" releases).

Jacopo

On Jul 9, 2012, at 2:59 PM, Adrian Crum wrote:

> So, we would remove the specialpurpose folder from the release branch? That 
> sounds fine to me.
> 
> -Adrian
> 
> On 7/9/2012 1:55 PM, Jacopo Cappellato wrote:
>> Adrian,
>> 
>> all you proposed sounds good to me, I like it.
>> What about the idea of not including specialpurpose in the releases? I think 
>> it is important because it simplifies the task of reviewing the code that we 
>> officially publish when we do a release; releasing separately will help to 
>> focus on a smaller amount of code every time we do a release.
>> 
>> Jacopo
>> 
>> On Jul 9, 2012, at 12:50 PM, Adrian Crum wrote:
>> 
>>> I like the general direction, but I think the steps are overly complicated. 
>>> I would prefer to keep the specialpurpose folder name, and keep its 
>>> components in the build scripts and test runs. This is important because 
>>> higher level component tests can reveal problems in the core logic (those 
>>> tests were invaluable during the Mini-language overhaul).
>>> 
>>> So, let's move stuff into specialpurpose, then move bits of specialpurpose 
>>> out of the project. When the specialpurpose folder is empty, we can remove 
>>> it.
>>> 
>>> The eCommerce component could be moved to the applications folder.
>>> 
>>> I would be interested in spinning off the Asset Maintenance component to a 
>>> separate project. Maybe we could use that as a test run of the "extras" 
>>> concept.
>>> 
>>> -Adrian
>>> 
>>> 
>>> On 7/9/2012 11:21 AM, Jacopo Cappellato wrote:
>>>> A few months ago we discussed about moving out of OFBiz some components 
>>>> from framework and specialpurpose and introduce the concept of "OFBiz 
>>>> Extras" projects, managed out of the ASF infrastructure.
>>>> I still think it is a good way to go, especially because it will help to 
>>>> grow an ecosystem of projects not necessarily licensed under the same 
>>>> license.
>>>> However I understand that this will take time to adjust and a lot of work 
>>>> to setup communities etc... this is the main reason I have prepared this 
>>>> proposal for an intermediate step: instead of moving out the components we 
>>>> can move them to the "specialpurpose" folder, rename it into "extras" and 
>>>> exclude the folder from the ootb build/deployment and from releases.
>>>> 
>>>> Some more details:
>>>> * the extras folder will not be included in build scripts, test runs, 
>>>> deployments; in order to build/run/test an extras component, it will have 
>>>> to be dropped into the hot-deploy folder
>>>> * extras components are not deployed on our demo instances, or included in 
>>>> automated builds; no dependency on them (links, documentation etc...) will 
>>>> exist in the OFBiz codebase
>>>> * some of the components in the extras folder could be experimental; each 
>>>> component should contain a README file with all the information required 
>>>> to deploy it successfully
>>>> * a separate LICENSE file will be maintained in the extras folder
>>>> * extras folder will not be part of the future OFBiz releases; we will 
>>>> instead release all the extras components in one package as "Apache OFBiz 
>>>> Extras" let's say every year
>>>> * we may consider to move back ecommerce from specialpurpose/extras to 
>>>> applications, at least the core ecommerce features
>>>> 
>>>> Considering that the components are either experimental or very specific, 
>>>> it will be easier to get commit rights for one or more of the "extras" 
>>>> components; new committers will be formally "OFBiz committers" (i.e. in 
>>>> theory they will have right to change all code in svn, including ofbiz 
>>>> code) but they will be asked to limit their field of action to the 
>>>> components they have been voted for; it will be based on trust rather than 
>>>> commit rights; a formal vote will be still required to authorize the 
>>>> committer to other components; the fact that a committer will still have 
>>>> the ability to change all code could be an advantage if we allow them to 
>>>> commit code under the explicit permission of another senior committer on 
>>>> specific case; for example a senior committer could say "I have committed 
>>>> r123456 and this should be backported to 12.04 and 11.04 but I don't have 
>>>> time; is there a committer available to help to backport and test the 
>>>> feature?"
>>>> This strategy, to have committers that are asked to not commit out of 
>>>> specific components, or areas (we could, for example, have a committer 
>>>> allowed to only work on ui labels), could even be considered for old 
>>>> committers (whose commit history shows lack of quality)... but this is 
>>>> probably topic for another day.
>>>> 
>>>> In short, this approach should help in a few areas: smaller core code 
>>>> base, greater community of specialized committers, less load on existing 
>>>> committers.
>>>> 
>>>> What do you think?
>>>> 
>>>> Jacopo
>>>> 
>>> 
>>> 
> 
> 
> 

Reply via email to