Hi everybody.
As some of you have seen, the code repository at http://code.mios.com is running. It’s still in somewhat ‘evaluation’ mode; but so far is technically satisfactory.
Please note that this is a developer’s tool; a novice non-technical person might find it confusing. Our vision for the plugin creation/collaboration/publishing/distribution includes at least the following pieces:
[ul][li]For the end user: The “MIOS Marketplace” window in each Vera. Here’s where anybody can pick and install plugins, devices, and other optional features.[/li]
[li]For the publisher: An easy to use frontend to put some code in the marketplace. Still missing. Currently, we only put anything in the marketplace after QA tests it. We’re discussing about a ‘beta channel’ that would be more permissive.[/li]
[li]For developers: the code.mios.com repository. This what I’m talking about here.[/li][/ul]
This is just a service we provide to our users that are willing to develop on MIOS software (ie: Vera), simply to have a single place to host everything. Of course, anybody is free to use Sourceforge, Google Code, GitHub, etc.
I’ll soon write some wiki pages as a guide, but first want to share a draft with you, hoping to get some comments and other feedback:
[ul][li]Everybody is welcomed here. Just ask for an account or a project to be created.[/li]
[li]There are many projects hosted there, most initiated at user’s request.[/li]
[li]Each project has a source code management server (subversion currently, soon maybe Git and Mercurial) and a Trac instance that supports the project management with a wiki, code browser, bug ticket system, etc.[/li]
[li]All free projects are world-readable. Commercial projects are free to choose if they want to be readable or not.[/li]
[li]There are four roles: Anonymous, Collaborator, Project Owner, Administrator:
[list]
[li]Anonymous is anybody, no need to register. Can read the project’s wiki pages, browse the code, checkout the code using Subversion, and create tickets.[/li]
[li]A collaborator is a registered user that collaborates in a project. Can handle tickets, contribute to the wiki and commit code to the SCM.[/li]
[li]The project owner is (usually) the user that asked the project to be created. Has Trac admin rights to add other users as collaborators, can also delete wiki pages, and other special tasks.[/li]
[li]The administrators are MIOS staff, we create the user accounts and projects.[/li]
[/list][/li]
[li]If you want to collaborate on an existing project, ask the project owner.[/li]
[li]We’ll try to avoid duplication between the forum, the wiki and the code projects. At the same time, we have to fight fragmentation and keep everybody interested well informed. Some ideas for this:
[list]
[li]There will be a single wiki page listing all projects with a short paragraph explaining it, and specifying the project owner and collaborators.[/li]
[li]The project should be fully documented in the project’s wiki pages. I’ll try to put links to those pages on relevant places.[/li]
[li]Use the project’s ticket system to communicate bugs, missing features and wishlists in general. Remember that anybody can create a ticket without registering.[/li]
[li]Use the forum for announcements and to ask for advice/support.[/li]
[/list]
[/li]
[li]There’s not yet any link between this code repository and the MIOS Marketplace. When a project reaches a ‘releasable’ status, the project owner should ask an administrator to check out a specific revision and pass it through QA and eventually to the marketplace.[/li]
[li]We can’t give any guarantees on the service availability or stability. I’ll do my best; but it’s conceivable that a project could have to be deleted and rebuilt from backup and sometimes the commit history is lost on this process.[/li][/ul]
This should cover most of the important points. Any comments, suggestions, requests, etc?