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