This is an open letter to the OGB; an initial response to any proposal to restructure or otherwise re-engineer the OpenSolaris community. I hope that what is defined below can be discussed but at the very least is recognized in your concessions! It is, to me, an overview of how the community appears to work and I would eventually like to develop this into a document which fully describes how the "community of opensolaris communities" works, and not just my perception. OpenSolaris is a community like no other and has challenges for which there is no precedent. Feel free to comment...
There is a VERY big picture here for which Sun has made it apparent no one person is directly accountable for. This makes for a very interesting community and I think it's an underlying benefit which has yet to be made apparent and has possibly been neglected by the previous policies. The point is that only the community at large is held accountable for OpenSolaris. While no one person is held accountable for OpenSolaris, the OGB is held responsible for the community. The neglect I've observed has likely been a result of chicken/egg paradox and I doubt it's been avoidable. While I have no hard facts to back this up, the idea of a complete restructuring is supplicated to fail, unless it is discussed at length. The discussion should be among the OGB but the idea of "changing everything and then seeing what happens and changing it again based on the results" is a bad idea. My impression at the summit was that "we will tweak these things and incorporate the results and feedback into a continual process of tweaks until everyone is content". The inevitable result being a restructure, but I don't believe the majority idea was to "blow things up and ask questions later". I'm not saying there is a problem here per se, but let's just be clear that whatever happens, none of us want to see regression. / opinion Let's clarify for the record, the following people who are held accountable for the OpenSolaris community: - END USER: These folks are going to leaving Linux for OpenSolaris or be old Solaris users transitioning to the new Solaris - CUSTOMER: Someone who (in)directly pays Sun, having bottom line interests and may or may not care about anything else - CONTRIBUTOR: These folks submit code, docs, or knowledge which is substantial - ENGINEER: Someone who works for Sun and whose contribution is likely a contract of their employment - PACKAGE MAINTAINER: This person updates their package when they update their software, or os.o requires pkg be updated - CORE CONTRIBUTOR: A contributor who works on significant tasks similar to that of an ENGINEER - ADMINISTRATOR: This person's contributions are with regard to the overall availability and functionality of the os.o infrastructure - PROPONENT: Self-explanatory including social, external proponents (which may indirectly include a customer or partner) - OGB MEMBER: Liaison to Sun, granted all powers, elected to be responsible for the operation and sustenance of the community - SUN MICROSYSTEMS: A publicly traded company - APP DEVELOPER: non-existent and outside the scope of opensolaris (notes on this below, I encourage comments on this) This community was previously the majority of Sun's operating system business units and has now been uprooted, opened up, and placed into the hands of any who wish to contribute. Transplanting anything organic is tedious and exploits the fragile nature of the organism's dependency on it's environment. It's apparent to me that after three years, Sun is now in the final phase of this transition for OpenSolaris. To that end, these are the people who will make the community work. They all have distinct needs and the processes which govern their efforts should address those needs. The basic needs for each of these roles are: - End users need to be able to resolve issues, get support, documentation, and/or support each other - Customers need to be able to voice their request for product features, similar to end users, but they fund this whole operation. Obviously, the Customer is not a responsibility of the community, they are Sun's responsibility. As the engineers and contributors are a part of this community, it is obviously their objectives to meet the demands of customers. - Contributors need to be able to share their knowledge and innovations (ie, functions or features) - Engineers need to be able to do their job - Package maintainers need to be able to update their package when they update the software enclosed in the package, no matter what the reason (feature, bug, security, adaption to dependent system change) - Core contributors are committed to the community's sustenance as well as share their knowledge and innovations - Administrators facilitate that OpenSolaris is available and accessible, including the "package repository", documentation, and "source repository" - Proponents take care of themselves but can be provoked, for better or worse In addition to these human requirements are the principles of OpenSolaris: http://www.opensolaris.org/os/about/ In writing, discussing, and voting on proposals, please remember to consider all of these individuals and the requirements necessary to satisfy their needs. I can't speak for them, and they won't always be here to speak for themselves, but their faith, which is in your hands, is crucial to the success and growth of OpenSolaris. About APP DEVELOPER role: At this time I do not believe there exists an "APP DEVELOPER" role in the OpenSolaris community. Windows and OS X have application developers but the trick with open source is that applications are cross platform and typically open source themselves; osx and windows applications are proprietary! The closest thing opensolaris has to an application developer is a package maintainer or a core contributor; it is my belief that the developer is outside the context of the opensolaris community and is more a part of the Sun community at large. A majority of developers who would create a system catered to OpenSolaris will likely be developing their application based on Sun's technology and not OpenSolaris. Just ask yourself: Why would I want to create an application that only runs on Solaris? If the answer doesn't have to do with the OS or a utility then it's likely you are developing something because it uses a Sun technology such as Java, Coolthreads, ZFS, etc. Regards, Alex Leverington
