New Stuff - pkgFactory/Roboporter & contributed software
By whowherewhat on Dec 10, 2008
It's amazing what a few months and a change in direction can do. With naming services becoming very stable, I and a few others on our team decided to look at fixing another major issue in OpenSolaris.
The thing that has bothered me the most, for a long time, is the speed at which it takes to deliver not yet ported open source into Solaris. I knew there had to be a better way. Fortunately others did too.
These new tools and delivery mechanisms will help enable a greater number of developers the opportunity to easily contribute to the OpenSolaris efforts.
For our part, we are helping by developing a new tool that analyzes an existing source code project (think tarballs), and tries different 'build recipes' to see if it can properly build the source into a working/useful Solaris package. I call the tool roboporter. Think of roboporter as a robotic contributor that ports the projects that other people don't have time to do.
As I see it, pkgFactory/Roboporter is a tactical solution to a much larger problem.
There currently exist (by my estimate) between 150,000-250,000 FOSS software projects that could be ported to OpenSolaris. Most of them have not been ported yet. I eventually would like to see them all running on OpenSolaris if possible.
A good number of these projects have/will have developers actively working on them, improving them and actively making new and better components. Excellent, please continue.
There is also a vast amount of useful software, that is used all the time, and is often in a stable maintenance state, but no one has found the time to go through the motions of a port.
That's where Roboporter comes in. The point of roboporter is to try to build everything it can find, that currently is not actively being ported by someone else. Sometimes it will be successful, sometimes it won't.
I'm hoping this project will allow people to devote real energy to the interesting and hard programming efforts, by having roboporter port the things things that are easy but would distract a programmer from more interesting work.
There is still a lot to be done, but so far the results have been very encouraging.
During the last build cycle we managed to generate roughly 12,000 items, of which we selected 1494 to go to pending, and from that we selected 154 of the most interesting ones to go to /contrib. By comparison, OpenSolaris 2008.11 has approximately 300 packages in the SFW consolidation. Other Linux/\*BSD distributions have between 4000 and 20000 ported projects in their distributions.
It's my hope that roboporter will help significantly increase our package counts in the coming months, while letting valuable engineers work on challenging things.
We still have lots to do, including improving this technology to produce higher yields and delivering better results. As I see it, 20,000 ports will be just a start.
Once the SourceJuicer project comes on line, roboporter is expected to behave like other contributors and not try to port a project that someone else is working on. We also hope that others will use roboporter ports as a starting point, take on maintenance for the project and make it even better, perhaps tuning the build or enhancing the actual project code in new and interesting ways.
Of course, everything we and roboporter will do is open source. We are currently setting up those repositories now.
With so many FOSS projects to choose from, anyone that wants to contribute something to OpenSolaris can certainly find a place/project to contribute. Please join us in enhancing OpenSolaris, and I hope this inspires you in some way.
For all the open source that users would like to have, but just don't have time to port, hopefully roboporter will help pick up the slack and you will see it in the /contrib repository soon.