I'm looking forward to getting this code as it will be a great environment to test my knowledge of 68k Assy as I learn.
Now to light some fireworks...
Now stand back and watch the fireworks!
Oh don't forget the bonfire which I shall now feed with two wardrobes, an old couch, and a butane gas bottle.
First and most important of all is any additional core code licensing. Assuming the AMOS Pro source code is released under the same license as the other code, BSD style as quoted below, I would argue that any contributed code that is to be compiled into the core package be submitted with a similar BSD license. If not, additional code should be provided in the form of an extension.
Clickteam provides the source code AMOS as a courtesy to the Amiga
computer community. You are allowed to edit and modify the source code,
add new features, remove sections of code and recompile it to produce
modified final products.
Any product made from the original source code should contain this
written notification:
"Contains parts of AMOS source code, originally written by François
Lionet and published by Europress Software Ltd. Contact the original
authors at http://www.clickteam.com."
And there's more..
Stage1: AMOS Pro V2.0 as released and fully documented.
Once the code is available we should make sure that the code is actually the 2.0 version released, or call the compiled version of the released code v2.01.
Stage2: AMOS Pro V2.1 with bugs fixed and updated docs. Nothing changed by way of additional functionality. This is the stable base to build the next stage upon.
Completely agree.
Stage3: AMOS Pro V2.2 with approved§ extensions and updated docs. Nothing changed by way of additional functionality. For the extensions, I'd prefer to reverse-engineer and pick out the best language-relevant§§ bits from the vast array of existing ones (and bring them into V2.x format).
If by reverse engineer you mean write from scratch equivalent functions, then yes. However if this means Resourcing other code to derive the functionality and code, then absolutely not, for copyright reasons.
For Extensions that are specialised, start an 'approved extensions' register. This would be added to as each one is checked, versioned, fixed if necessary, documented and put into the public domain with some kind of 'approved' sticker.
I think this should be provided in a format similar to that of the Eclipse.org Market place. Where users can select extensions by category, license etc from a web page. An offline full package of all freely distributable extensions could also be provided.
Stage4: AMOS Pro V3.0 for AGA and fully documented.
Keep as an extension until the AGA chipset is fully understood and full compatibility and functionality has been implemented.
Stage5: Stop enhancements development except for bug fixes. All further development handed over to Extensions.
Completely disagree. On the basis that there will probably be a significant list of feature requests from users. Many of these will be file format support requests, but you simply need to look at the Blitz variants to see were the development requests could go.
...But this particular project is Amiga-only
That's fair enough, but I am quite sure that this project if seen to be maturing will be forked for the AROS x86 environments, and that would lead to the 'Versions Nightmare' and 'DLL Hell' you speak off.
...AMOS functionality... AMOSPro_TOME.Lib is not core,...
I would agree with this. Especially as TOME gets redeveloped and enhanced, updating an extension library would be a lot easier. I did mention that I asked permission to reverse engineer this when I asked for permission for the Manual
.
Obviously there would have to be fixed processes like code standards, code submission and review procedures etc.
There are however some attitudes in projects I've come across that grate my teeth. Such as the "We know best" and the "we won't implement that because we don't want to work on it" I really can't stand. This is something to avoid, leave the EGO at the door sort of thing.
I would suggest that a system whereby all requests must be implemented either as core or as extensions, as long as it is feasible to do.
I have seen voting systems for this although they are aimed at accepting or rejecting a feature request, OpenOffice does this and rejected the request for split pane functionality, their method of achieving this is ridiculous, to say the least.
The voting system should be open to all registered members (not just a group member) and should decide which feature, functionality or otherwise is implemented first. They way I have defined it in my notes is each core developer commits to a feature set (say 12 feature requests) made up of the following
3 features of the core developers own choice
5 from the top voted features
2 from the median
2 from the least voted
All features must be completed before the core developers own selection will be implemented.
This is summerised from my notes.
One feature I would like to see implemented is a new standard Amiga interface that worked within a window on the workbench.
I'll leave it there for now, I could go on for another fifty pages on this.