This is an interim reply as I've been under the Surgeons Knife recently :'(
and will need a few more weeks to recover.
Currently the way to contribute to WebbotLib is that you can join my site on sourceforge and I can give you developer status. This means that you can check code in and out. If you use a 'proper' IDE like, but not exclusively, Eclipse then this is easy to do. I would 'vet' all code before it is released as I would want to ensure that it fits with the existing design philosophy. This would also allow you to test any code where the author doesn't have access to the hardware. All contributed code would need to obey the open source license agreement for WebbotLib so that 'the world' has unrestricted access to it.
So contributing to the releases is something that can be done now - and I welcome anyone who wants to give it a go although I would keep it to a small number of people to start with so we can create a documented process for others to follow.
As for a more open community then there are several alternatives to consider:
1. A central respository where all 'contributed' code gets dumped. ie a single base URL for people to download from - preferably within the webbot.org.uk domain
2. An open repository where people place stuff wherever they want and tools like Project Designer hunt for what's out there (bit like adding download sites into Eclipse) - which I don't like as I think support etc would be a bit of a nightmare.
In general there are a number of considerations:-
1. The code itself (obviously) - ie what contributes a release and who can produce one
2. Adding new devices to Project Designer. This is done via an XML file. So if you understand XML then this should be fairly easy. But if someone can 'dump' code somewhere then they also need to be able to dump the 'XML' file somewhere that Project Designer can find.
3. Utilitiy code (ie stuff you can't add in Project Designer as it's not a 'device') such as a new 'code scheduler library' say would need to be in the main code base.
4. Documentation. I currently have to produce this for C and for C++ which is a pain. I would prefer to drop everything except Version 2 for C++ (ie everyone must use Project Designer). This would also allow me to tidy up the code quite a bit. This raises the issue as to how someone would contribute to the documentation. Currently I have it all in a database and this can generate the PDFs as well as the web docs and it can do some cool stuff like generating the class hierarchy diagram http://webbot.org.uk/WebbotLibDocs2/43885.html
. With an open community then I think the whole documentation process would need to be dropped (especially PDFs) and move to a pure Web site for docs. I would then need to find a way to do a one-off population from my db.
5. All of the above should be 'downloadable' to the local machine so that its accessible when you aren't connected to the internet (coz you are at a robot competition!)
It needs more thought once I'm recovered !!
In the meantime if anyone would like to contribute any examples / tutorials etc then get in touch and I'll find a way to add them to webbot.org.uk but credited to you.
To those of you who have asked about what devices I would like help to add then I actually see it the other way around. WebbotLib provides a service to its customers - so its up to the customers (you guys) to decide what you want to see in it and let me know. Currently I'm driven by my own stuff, or requests from users via emails etc, as well as monitoring Sparkfun for new and best selling devices. If you are registered on webbot.org.uk then there is a 'poll' option which is barely used at the moment. Email me any 'requests' and I can place them on the poll - and everyone can vote.
Finally - let me stress that you all have access to Board Designer - so you can create designs for the boards you are using and then use Project Designer to use it in all the projects you create. So if you are using a board that isn't listed in Project Designer then why not create your own. You can even export these designs to share with others (either by sending them the file or - better - by placing it on the web somewhere). If its a commercial board, and could be useful to others, then I can build it into Project Designer if you send me the export.
@corrado33 - Altough the library itself is quite large your project only adds in the code that you have used. Project Designer is exactly the 'tick list' application that you mention - albeit slightly more complex as most devices require some kind of options. If you haven't tried it yet then I suggest you do - and then let me know what you think. Version 2 (which requires you to use Project Designer) generates smaller code because a lot of the checks can be moved out of the runtime library and into Project Designer instead. For example: lets assume you are trying to set up two PWM signals one at 1Hz and the other at 10kHz. If you use the same timer then this may not be possible and so Version 1 has lots of code to check this stuff and then 'flash' a runtime error. In Version 2 this is all done in Project Designer meaning that the library doesn't need to and can also report the problem to you before you even compile your code.
@Admin - The custom folder idea is already kinda supported in that Project Designer allows you to specify your own folder where custom code can be found. I know what you are hinting at - but the only issue is that if my code is made up of lots of C or C++ files and more than one of them include and use functions in your H files then I will get an error during the link process as the same code gets added all over the place. Thats the problem with a library based purely on H files.
@totalis - Thanks for the kind words.