I think this is a very good idea and would love to see it implemented. But I think you should take a look at XBMC’s
addon system which I feel would make a very good model for the potential arduino library repository.
Here is a quick description of the XBMC system. I think nearly every point would relate to how the arduino system could work.
• Addons in XBMC are largely user generated
• There is an official repository which comes automatically installed
• Only 1-2 official addons are installed by default
• In order to get an addon into the official repository it must comply with some rules
. And have your code in any revision control system you choose, you simply have to provide a download link
• Because your addon is in your own revision control system under your own user name you can choose which patches are included/excluded. Also if you choose to stop maintaining the project, a new user can fork your code and update/improve your code and re-submit it as a new addon.
• Every addon has to have a small xml file which explains the basic capabilities and compatibilities of the addon, this is used to ensure that the
• This xml file is used to categories the addon within the XBMC addon list and to ensure only compatible addons are available to install.
• The addon viewer within the XBMC allows the user to quickly install/uninstall addons. It also allows the user to configure the addon (probably not relevant to ardunio)
• The XBMC team and the addon developer can mark addons as “broken” which stops user from being able to install them.
• The user can enable automatic updating of addons, or leave it set to manual.
• Developers can create 3rd party repositories, which the user can easily install alongside the official repo. This allows developers to distribute addons which don’t comply with the rules on the offical repo or just to store all their addons in their own repo (useful for collecting foreign language addons etc)
• Addons can still be installed manually, so distributing the addon via a repo isn’t a requirement.
If there was this sort of system for libraries would be amazing. I would require some significant work from the arduino team to set this up and you have to be careful not to put too many additional steps on the library developers. But this works pretty well for XBMC.