Saturday Feb 14, 2009

OpenSolaris - Changing The World Another Way

Eco Mower

A rather unusual project just started in the OpenSolaris community. It's the OpenSolaris Lending Project. Instead of directly working on the code for OpenSolaris, the new project provides a venue for OpenSolaris community members who want to contribute to the OpenSolaris Lending Team at

If you're not familiar with Kiva, it is a scheme that acts as a marketplace and aggregator for microfinance loans. It allows ordinary people to make small loans to other people keen to lift themselves out of poverty around the world. The loans are aggregated by Kiva, sent via a local organisation that Kiva has vetted and used as start-up capital (or growth capital) by an entrepreneur who would otherwise be unable to get finance. The sums are small - $25 sums from lenders are aggregated into loans around $500 for borrowers - but the impact can be enormous.

The idea of the OpenSolaris community is to allow OpenSolaris community members who also share in the vision for microfinance to gather together and make a difference. By forming the team at OpenSolaris, we also hope that advocacy activities will choose to work with Kiva when they are looking for a gift or incentive for user groups and marketing activities. Not everyone would prefer a Kiva gift certificate to an iPod, but it's a gift that lasts longer and has a better effect on the world!

To get things moving, we've also opened an OpenSolaris Bookstore. If you order your copy of The OpenSolaris Bible through there, Amazon will give us a 5% commission that we'll use to fund Kiva gift certificates for use by the OpenSolaris Advocacy community. You can also bookmark this link and use it when you visit Amazon.

Wednesday Aug 20, 2008

OpenSolaris - Open & Getting More So

Holding up the Sky

I got a comment this week from someone asking why OpenSolaris didn't accept commits from community members. The fact that a reasonably well-informed individual could ask that question suggests there are some misunderstandings that need clearing up. I've been investigating the current status.

Already Open

First, the question itself is wrong - OpenSolaris accepts commits from outside Sun. Both Subversion and Mercurial have been available on for a couple of years now so that projects there can host their source code. Indeed, one of the significant new-code updates in OpenSolaris - the integration of ksh93 - was accomplished mainly by Roland Mainz and his sponsor April Chin with support from a range of community members, who put in a huge amount of work and achieved integration into the OpenSolaris code in build 72 in August 2007.

Multiple projects are being developed in the open on the site with source code repositories out there using one or the other. Individual projects grant commit rights using whatever method they choose. There are multiple examples of non-Sun people having direct commit rights on projects - one that comes to mind is Shawn Walker on IPS before he became a Sun employee.

Sponsor System

While many of the code groupings in OpenSolaris (consolidations) have been publishing source code for a while now, the version control systems (VCS) used by some of the OpenSolaris consolidations are still inside the Sun intranet at the moment, having completed their move from the old closed system to Mercurial (with much help from Richard Lowe). Changes to those must be done by a Sun volunteer - this is what the sponsor program is for. The outside person can work on the code (for the "ON" consolidation, using the Mercurial mirror repository that has been available for about a year), make changes, test, do a code review in the open, and so on.

The Sun sponsor is needed to update the bug tracking system inside Sun (although we now have a public one that many projects are using) and do the actual putback. The request-sponsor table lists the 600+ contributions offered to date via the sponsor program and their status (~43% integrated; ~20% in progress).

In Transition

ON has transitioned to using Mercurial as its VCS as of this month. The tentative date for ON to move its VCS to the public internet is the end of October. Companion CD and JDS have been outside since 2006 (they use Subversion). G11N has been outside since 2007 (they use Mercurial). The new install code has been outside since it started; it's been developed in the open. Publications has a gate with source for four books so far (opened this Spring). I didn't get status reports from some of the consolidations, most importantly SFW, and I think it's important from them to move as soon as possible.


Get an OpenSolaris CD

The summary is that OpenSolaris has been accepting commits from community members pretty much from the moment the source was published. Of necessity there were Sun employees inserted in the flow when the project opened because the VCS in use was closed source and internal. In the years since then the process has gradually been getting easier and easier. Having the gates internal to Sun certainly hasn't helped growth, but it was unavoidable. That is finally getting fixed.

The Sponsor system itself is actually a great idea and is now working better than ever before. Like Jim I think it should be retained - and populated with experienced developers regardless of employer - even when all the gates are publicly accessible. Even in the world of Linux it's hard to get started as a contributor and the Sponsor system provides a great pathway.

Wednesday Jun 18, 2008

Simplifying OpenSolaris Governance

We've been considering refreshing the OpenSolaris community governance in the light of experience. During the OGB meetings, I have made the following proposal a few times, so thought it would be good to write about it and see what people think.

I think the OpenSolaris governance needs to be simplified. We should move to an approach of "drawing a line around existing practice" rather than trying to invent a new system and force-fit everything that is going on into it. This is the approach we're taking with OpenJDK and, barring a few problems every now and again, it seems to be working.

For Governance purposes, all the overall community needs to have regulated are:

  1. What the top-level structure of the community looks like
  2. Who gets to vote in plenary decisions (OGB elections, constitutional amendments, extraordinary general meetings)
  3. Who gets to consume resources (create new mailing lists, repositories, web pages and so on)

All other factors are local to a particular grouping of the community, and given the size and diversity of that community it's likely attempts to generalise in a way that effectively embraces all the groupings will be very hard. I therefore suggested that, for governance purposes only, we treat all entities in the community as "community groups" empowered to do whatever it is they are already doing, but coming to the OGB for approval when they do one of three things:

  1. Instantiate a new top-level entity
    • I suggest that new instantiations be handled on a case-by-case basis by the OGB.
    • Top level groups can then create nested groups any way they wish
    • However, new groups must abide by points 2 and 3
    • The OGB may wish to publish criteria for which groups it would be likely to permit and limit creation of top-level groups to one-per-type but I suspect writing rules for this now falls under YAGNI.
  2. Grant a member voting rights at the plenary
    • I suggest that the OGB create a Board Committee with diverse composition to grant plenary voting rights
    • I suggest that the committee ask groupings in the community wishing to have the power to grant plenary voting rights to members to submit a proposal for how they will decide to do that
    • The proposed process should as a minimum:
      1. Be deterministic and repeatable
      2. Grant voting rights only to those who have already demonstrably contributed, not to those intending to
      3. Require those being given voting rights to publicly assent to the grant (either by nominating themselves or accepting the nomination of others)
    • The committee should grant rolling annual permission to groupings to grant voting rights once their process is approved
    • The committee should draft a default process for new groupings to adopt if they don't need special treatment
  3. Choose to consume resources in a new activity
    • I suggest the OGB create a Board Committee for this too
    • I suggest the committee also grant resource access allocation rights on a rolling basis to those groupings exhibiting bona fides

As plenty of people will agree, I am no master-of-governance but that seems sufficient to protect community-wide rights while leaving maximum flexibility for there to be Consolidations, an ARC, User Groups and more. Thoughts?

Saturday Mar 29, 2008


Many thanks to the people who voted for me in the OpenSolaris Governing Board election last week. I was very surprised to receive so many votes, especially considering the strength of the field and who else was elected. I was also pleased that both the constitutional amendments I proposed were approved - I edited them into the Constitution this evening.

I've dived straight in on the ogb-discuss mailing list and IRC. Our first OGB meeting is on Wednesday and I welcome input, especially conversation on the OGB IRC where I try to show up at 10pm UK time each evening if I am free to do so.

Saturday Mar 22, 2008

Election Ending

The OpenSolaris elections are ending soon (they close at 7am UK time on Tuesday). If you have a vote, please use it!

In particular, I'd draw your attention to my election statements as I would be grateful to receive your vote. You may also be interested by my comments on the constitutional amendments.

Do please vote - those amendments need a "yes" from 50% of the overall electorate if they are to pass so I doubt we have enough "yes" votes so far to pass these very rational and widely agreed amendments.

Saturday Mar 15, 2008

OGB: Get The Vote Out

We're half-way through the voting for the new OpenSolaris Governing Board as I write there have been 74 votes cast. That means there are plenty of people (nearly 300) who have yet to vote.

If you've not seen them, I wrote some notes on why I encourage you to vote for both of the amendments I proposed. There's been some comments against them from certain community voices, so I'd like to clarify that both of those amendments are submitted by me as a community member in response to community comments and I have tried to incorporate all the feedback I received for both. I was not asked to submit them by any Sun management and they are not "official" Sun amendments.

In those notes I also listed some other candidates and endorsed them as people I would be pleased to work with on the future of OpenSolaris if I was elected. It was noted they are all Sun candidates, and while that reflects the significant presence of Sun employees in the OpenSolaris community, I'd like to make it clear that I would also be pleased to work with candidates like Michal Bielicki, Stephen Lau and Justin Erenkrantz, all of whom have shown the sort of constructive spirit we'll need to take OpenSolaris forward.

Ultimately we need an OGB that has the backing of all the Core Contributors. So if you have a vote please use it, whoever you vote for.

Tuesday Mar 11, 2008

OpenSolaris Polling Open

Polling is now open for the OpenSolaris elections and will remain open until March 24. If you have Core Contributor status in any OpenSolaris community, you are eligible to vote. In addition to some test questions which have been put back on the ballot, there are three important polls; two constitutional amendments plus the election of the 2008-9 OGB. Since I proposed both of the amendments, I'll explain them both.

Article IX: A Process For Managing The Constitution

The first proposes replacing Article IX of the constitution. At present this Article reads:

This Constitution and its bylaws may be altered, amended, added to, or repealed by an affirmative vote of a majority of the Members of record, provided that the proposed deletions and additions, when applied to the Constitution, will result in a new Constitution that remains in complete compliance with the OpenSolaris Charter. The complete text of the proposed deletions and additions must be delivered in a notice by electronic mail to the Members no less than ten (10) days prior to any vote on said deletions and additions.

In the run-up to the current elections, it became apparent that this article was not sufficiently detailed to tell people how to frame amendments. In addition, it did not specify who could propose amendments or when, or require any kind of community quality control to proposals prior to voting. I spent some time on IRC and then suggested text in the tracking system. After some discussion at the annual meeting I then sent the text to the Core Contributor list according to the current process. The proposed new text is:

This Constitution and its bylaws may be altered, amended, added to, or repealed by an affirmative vote of a majority of the Members of record during Annual and Special meetings as defined in 5.2 and 5.3, provided that the proposed deletions and additions, when applied to the Constitution, will result in a new Constitution that remains in complete compliance with the OpenSolaris Charter. The complete text of the proposed deletions and additions must:
  • be approved within an OpenSolaris Community Group using the Majority voting rule in article 8.4 prior to being delivered to the full Membership for adoption.
  • be delivered in a notice by electronic mail to the Members no less than ten (10) days prior to any vote on said deletions and additions.

This new text is intended to allow the flexibility members need to discuss and propose amendments anywhere in the OpenSolaris community. It also applies a quality control measure (the amendment has to be vetted in a Community Group somewhere) and limits consideration of amendments to either the Annual Meeting or, in exceptional cases, to a Special Meeting.

I believe that this amended text offers a more balanced and operable process for the constitutional amendments - something I am convinced we need - and I encourage you to vote "Yes" for measure "Amend_Amendment".

Article VI: Promoting OGB Transparency

One of the controversial topics associated with the OGB this year has been a lack of clarity about the connection between OGB members and their employment-related interests. While some have proposed attempting to prevent OGB members having such interests, I believe that's impossible. Instead, I suggested on the tracker that the OGB should engage in the same level of transparency expected of political leaders by declaring their employment-related and other interests that affect OpenSolaris. After discussion there and on IRC, my suggested amendment text is as follows:

Addition to section 6.3: "Candidates for election shall publish a list of their commercial affiliation, or other interests related to OpenSolaris, so that a voting member can understand the context from which they would act on the OGB and the likely biases they would bring. Candidates who before the start of voting do not publish such a statement and attest to its accuracy shall not be eligible for election. The Secretary of the OGB shall maintain a public register of OGB Members' interests."

Addition to section 6.2: "OGB members upon change of corporate affiliation or other interests related to OpenSolaris, must notify the membership of the same when that change applies.

I believe this approach recognises the inevitability (and indeed the desirability) of having an OGB consisting of people with a stake in the future of OpenSolaris while encouraging transparancy of motive. I note that many of the candidates for the current election have indeed declared their interests in a way that would satisfy the requirement as worded here and I think it is would be healthy to formalise this requirement. I encourage you to vote "yes" for measure "Amend_Board".

Board Election

Finally: the Board election. I would be delighted to have another opportunity to serve the OpenSolaris community on the Governing Board, as I was able to in 2006-7. I did not stand for election last year and since then have been observing and occasionally participating. My statements of interest are in my OpenSolaris profile so I'll not repeat them all here. I believe that in the coming year we particularly need an OGB that is equipped to communicate strongly, clearly and frequently with Sun's management. For communication to take place through channels other than the OGB undermines the OpenSolaris community. I also think that the OGB membership should reflect the interests around the project, and so in addition to the valued participation of those outside of Sun, I hope we will continue to see a strong showing of Sun employees elected to the OGB.

The candidates I'm referring to have all received endorsement to stand for the OGB from their management chain and all have seen Sun's employee policy on open source participation. They are all committed to asking Sun's management to communicate regularly and clearly with the OpenSolaris community and they represent a diverse cross-section of the community. I consider all to be independent-minded and honourable people. In arbitrary order they are John Plocher (plocher), Jim Grisanzio (jimgris), Glynn Foster (gman), John Beck (jbeck), Michelle Olson (michelle), Alan Coopersmith (alanc) and myself (webmink).

Of course, there are other excellent candidates. It is in the interests of getting proper Sun representation on, and dialogue with, the OGB that I encourage you to place the people I have listed early in your order of preference when you vote. I will be on IRC in the Annual Meeting at 10pm GMT each night this week if you'd like to discuss anything in this posting.

And thanks for reading to the end!

Update 15-Mar: I've clarified the intent behind these positions, take a look.

Sunday Mar 02, 2008

IRC Meetings

Fora Romanii

I've been spending a little more time than usual on IRC because the OpenSolaris Annual Meeting is currently in session on Freenode. There was some excellent discussion on Thursday about constitutional amendments and I went on to submit two amendments for consideration by the membership (to article VI and to article IX). I plan to show up this week to discuss those amendments with anyone who has questions; I'll post the times once I know I have internet access in the places I am visiting!

On the subject of IRC meetings, there are also a series of them coming up this week to give the MySQL community the chance to chat with some Sun people. Kay Arnö has the details on his blog; I'll be joining #MySQL on Thursday at 2pm GMT (my nickname is "webmink", naturally!)

Monday Jul 02, 2007

A Niche The Size Of A Canyon

Yosemite, Tunnel View

I admit it's been a while since I had to use a source code management system for real - over 10 years in fact. So I was intrigued to read what Stephen O'Grady recently published about distributed source code management (DSCM) in one of his signature Q&As. He makes a number of interesting observations, but I was interested by the omission of a whole thread of analysis around the assertion Mark Shuttleworth makes that merging is the key to source code management.

Sun has a long history with DSCM, and the tool used internally by many teams (Teamware) is in fact the predecessor of Bitkeeper written by the same author, Larry McVoy. The development of both Solaris and the Java platform uses Teamware and the distributed approach is a fundamental factor in the development culture of both products.

When we open sourced Solaris and seeded the OpenSolaris community, it was very much an act of opening an existing distributed community to public participation rather than the creation of a new community. That's why it was obvious to that community to want a DSCM to maintain the source code in OpenSolaris. Since Teamware was (and is) a proprietary tool, they selected an open source system for community use.

Stephen seems to suggest that in some way centralised SCM like Subversion is a natural choice for open source, but I would suggest that needs more thought. A DSCM is in some ways a group of inter-related CSCMs with added capabilities that reflect the nature of a diverse ecosystem. Yes, a team of developers needs a source code management system. But an ecosystem - with upstream builds and downstream distros, with multiple platform versions, with experimental features - also needs to be able to handle the reconciliation of changes as easily as possible.

So I'd suggest that while CSCMs may be ideal for the team-based development found in smaller open source projects, DSCM is for ecosystems and thus is the natural choice for open source communities. In other words, it's a trend.

Tuesday Mar 27, 2007

Ratified and Elected

I'm delighted to see that the OpenSolaris community has ratified the Constitution and elected a new OGB. As I have said before, I regard the Constitution as a starting point, not as tablets of stone, and some of the new OGB has already asserted a need to evolve it. I'm looking forward to the community vote on their improvements. Congratulations to the new OGB, act wisely and inclusively guys (and it's all guys).

Monday Mar 26, 2007

Past the Quorum

Looks like the OGB election now has enough votes to be binding. Let's hope people have ratified the Constitution, becuase if they have, we are golden.

Wednesday Mar 21, 2007

I Just Voted

I just voted in the OpenSolaris OGB Election. It was pretty easy and only took me about 2 minutes. I'll not tell you the order I ranked my votes, but I was influenced by the fact I had spoken to thirteen of the candidates, all of whom were ranked higher in my voting list as a result of my having had the chance to hear how they think first hand. I'd like to thank all of them for taking the time to speak with me. I was sorry the others didn't feel inclined to talk, but of course that's their choice. A reply would have been nice though (only Casper did, of the five).

In my voting I favoured diversity, ranked higher on a willingness to work with others of all persuasions, on an openness to friendly discussion and on a lack of elitism. I also voted "yes" to ratifying the draft Constitution because I think we have to start somewhere.

OGB Bootstrapping

On that subject, I promised the OGB I'd write a little about the rationale behind the Constitution and electoral roll. The current OGB doesn't pretend to have all the answers. Once it realised the scale of the issues, it sought to bootstrap the community, both in terms of the Constitution and of the initial electors, in a reasonable and fair way while recognising its own imperfection.

The initial electorate was a big problem. We decided the best plan was to have a group of voters identified by the selection of their peers. We sought a large enough electorate to make voting diverse, but the very fact some communities failed to select any Core Contributors even after repeated reminders guaranteed that it would be flawed. I am sad that some people felt disenfranchised, and hope we caught all the most serious errors over the last week or so. Plenty needs fixing, and that was inevitable and unavoidable. Nonetheless, we have a diverse electorate large enough to dilute most biases. It's good enough for bootstrapping.

We did not have the breadth of vision to solve all the tricky issues in OpenSolaris that need to be covered by a Constitution, nor the personal knowledge of community members to perfectly identify the electoral college. I've heard one of the candidates harshly criticise this fact and imply he had all the answers, but I disagreed and still do. No-one does. I still believe it's smarter to iterate and to leave properly elected OGBs to iterate. Trying to solve everything up-front usually fails.

The new OGB needs to build on the Constitution and amend it, especially to address the community structure properly. It also needs to fix the electoral college to reflect the community that will exist once the project/community issues are fixed. I would also suggest to them that they expect the OGB that follows them to need to do further fixing and regard themselves as a phase of the bootstrap. Amending a Constitution in the light of experience has precedents, after all.

OGB Interviews Summary

Since I haven't heard back from anyone else, I'm now closing the LiveMink Election Special podcast series. I encourage you to listen to any of the candidates you've not met. Then to go directly to the task of voting (assuming you have Core Contributor status). You should try to vote before the rush on Monday, when doubtless many will be realising the poll is about to close and be rushing to log on.

Here is a list of all the candidate interviews I have recorded, in reverse order of appearance. All these podcasts can also be found on iTunes by those of you using Windows or Macs.

[Jim Grisanzio][MP3][Ogg](18' 39")
[Stephen Lau][MP3][Ogg](15' 05")
[Shawn Walker][MP3][Ogg](19' 53")
[Michelle Olson][MP3][Ogg](8' 50")
[John McLaughlin][MP3][Ogg](13' 35")
[Jörg Schilling][MP3][Ogg](12' 58")
[Rich Teer][MP3][Ogg](13' 35")
[Alan DuBoff][MP3][Ogg](12' 41")
[Ben Rockwood][MP3][Ogg](21' 12")
[Garrett D'Amore][MP3][Ogg](17' 21")
[Karyn Ritter][MP3][Ogg](7' 40")
[James McPherson][MP3][Ogg](14' 52")
[Glynn Foster][MP3][Ogg](12' 33")

Monday Mar 19, 2007

Charting the Next 25 Years

I'm delighted to be able to welcome a new colleague who's starting with Sun today. He is starting a newly-defined role as Chief Operating Platforms Officer at Sun, and is responsible for building a new strategy to evolve both Sun's Solaris and GNU/Linux strategies. The appointment is at the same time both brilliant and controversial, but is the logical next step as far as I am concerned.

Sun bootstrapped the commercial Unix industry 25 years ago. Solaris offers both an unbeatable promise of binary compatibility, so that your current binaries are guaranteed to run on your Solaris system when you upgrade, every time, and an extraordinary level of innovation that has made ZFS, DTrace, SMF and Zones the talk (and envy) of the operating systems scene.

Meanwhile, the combination of the GNU operating system pioneered by Richard Stallman with the inclusive development delivered around the Linux kernel by Linus Torvalds has brought a new life and energy to the extended family tree of Unix. The popularity of GNU/Linux bears testament to the vision and skill Stallman and Torvalds exhibit.

And now there is OpenSolaris, bringing the potential to weave a new cloth from both the Solaris and the GNU heritage, albeit with both cultural and licensing challenges to overcome. Today my new colleague is here to perhaps guide the combination of the brilliance of Solaris and the pervasive and seductive character of GNU/Linux to start the next wave. Please welcome the founder of Debian GNU/Linux, chair of the Linux Standards Base and outgoing CTO of the Linux Foundation, Ian Murdock (click that link and read his own words). Welcome, Ian! It's going to be an interesting year!


Thoughts and pointers on digital freedoms and technology markets. With a few photos too.


« July 2016