OpenSolaris

I worked at Sun Microsystems for a decade in San Francisco and Tokyo, and for six years (2004-2010) managed OpenSolaris projects and built communities around the world. I loved it. I learned many valuable lessons during that period and I’m obviously proud of what we accomplished. Sadly, for me those days are done but I’m especially thankful for the friends I met along the way — people who believed deeply in what we were doing and who genuinely participated in building the community around the world.

opensolaris logo big

The OpenSolaris project was a Sun effort to open the Solaris source code and development infrastructure with the goal of building a global engineering community. The brand “OpenSolaris” represented four interrelated components:

  1. Development Community
  2. Sun Binary Distribution
  3. Solaris Source Code
  4. Co-development Infrastructure at opensolaris.org

The website — opensolaris.org — was comprised of 20 web applications running in three data centers providing services to support internal Solaris product development, corporate partner interactions, OpenSolaris community software development, and OpenSolaris community building operations. Below is a list of the website applications we built:

  • arc.opensolaris.org (Architecture Review Documentation)
  • auth.opensolaris.org (User Authentication and Authorization)
  • bugs.opensolaris.org (Bugs-by-mail Mechanism)
  • chrome.opensolaris.org (Service Supplying Common Graphics)
  • cr.opensolaris.org (Code Review Tool)
  • defect.opensolaris.org (Bugzilla Defect Tracking)
  • jucr.opensolaris.org (Build/Publish Application)
  • hub.opensolaris.org (XWiki Content Management)
  • mail.opensolaris.org (Mailman Server)
  • planet.opensolaris.org (Blog Aggregator)
  • pkg.opensolaris.org (Package Repositories)
    • pkg.opensolaris.org/contrib
    • pkg.opensolaris.org/pending
  • pkgfactory.opensolaris.org (Review, Vote, Prioritize pkg Submissions)
  • opensolaris.org/jive (Web Discussion Forums)
  • poll.opensolaris.or (Community Voting Application)
  • repo.opensolaris.org (Source Code Management Console)
  • rti.opensolaris.org (Source Integration Tool)
  • scm.opensolaris.org (Source Code Management Infrastructure)
    • hg.opensolaris.org (Virtual Host for Mercurial Access via SSH)
    • svn.opensolaris.org (Virtual Host for Subversion Access via SSH)
  • src.opensolaris.org (OpenGrok Source Browser)
  • static.opensolaris.org (Large File and Binary Data Hosting/Sharing)
  • test.opensolaris.org (Test Farm, Open Sources Tests, Execution Platform)
    • test.opensolaris.org/ostep
    • test.opensolaris.org/testfarm

So, as a community and as a Sun project team, we did a lot in six years. Here’s a quick list of accomplishments off the top of my head:

  • We talked openly about project plans for a year prior to launching. And back in 2004 at Sun that was a very big deal for a large  corporation. It was doubly difficult since not everyone internally supported the opening of the Solaris source.
  • We created a year long pilot program with hundreds of participants. For me this was the most fun on OpenSolaris. We created something from nothing and we briefed customers, partners, and universities and got them involved with an early cut of the code and infrastructure.
  • Published tens of millions of lines of source code and documentation [add link here] in dozens of releases over two years.
  • Wrote a new FOSS license: Common Development & Distribution License (based on the Mozilla Public License). Built multiple OpenSolaris-branded binary distributions.
  • Started hundreds of projects, communities, and user groups.
  • Engaged multiple corporate and university partners in open engineering projects.
  • Generated a million messages on 400 mailing lists and 200 web forums with 37,000 subscribers.
  • Drew tens of millions of website, forum, and list views.
  • Enjoyed some interesting and counterproductive flame wars.
  • Ran elections, voted for representatives, specified governance processes.
  • Endured years of baseless attacks from other communities and companies.
  • Created a sponsor program to engage early contributors, which led to the integration of 500 code contributions out of the 800 offered.
  • Set up 400 Mercurial and Subversion source repositories in 250 projects.
  • Engaged contributors from three dozen countries.
  • Translated multiple web applications on opensolaris.org into two dozens languages.
  • Integrated code from multiple corporate and university contributors.
  • Re-implemented closed code.
  • Filed 15,000 bug reports in multiple databases.
  • Delivered thousands of presentations at conferences and universities.
  • Developed a new application to facilitate content translations and localized website and product components into two dozen languages.
  • Shipped 200,000 t-shirts, CDs, guide book, and other items to the community.
  • Wrote a half dozen full-length technical books.
  • Shot tens of thousands of photographs.
  • Wrote courses, training materials, and tutorials used in hundreds of universities.
  • Participated in live audio/video interviews with press/analysts.
  • Opened multiple websites to support community and product development and hundreds of package, source, and binary mirrors evolved.
  • Specified multiple development applications openly in the community.
  • Grew into over 150,000 people in 30 countries: students, professors, kernel developers, application developers, system administrators, managers, users.

So, congratulations to the OpenSolaris community on a job well done under circumstances that at times were obviously challenging. As a result of my experience at Sun on the OpenSolaris project I’m now forever fascinated with how open development projects operate and how people build communities across distance, language, culture, and corporate barriers. The desire to participate in a community is innate because communities empower people. That’s important. I take it seriously. I’m also, however, well aware of how quickly a community can crumble to nothing when its foundation is obliterated. This is why you need to keep building, keep distributing, keep connecting. Destruction is a part of construction. The two are tethered.

Some of my personal experiences on OpenSolaris are outlined below.

Jim Grisanzio presenting OpenSolaris in Beijing in 2006.
Jim Grisanzio presenting OpenSolaris in Beijing in 2006.

A Communications & Project Management Perspective

I managed a variety of projects for Sun Microsystems from June 2000 to June 2010. I started at Sun in Silicon Valley working on several corporate communications teams for the Java and Standards organizations and many of Sun’s Open Source engineering projects. During those early years I worked with some of the company’s most senior and well respected Distinguished Engineers, Fellows, and Executive Vice Presidents. I manged their public engagements at corporate events and industry conferences, wrote their speeches and presentations, advised them about competitive market issues, and ran their press and analyst programs. Overall, I’ve managed communications projects at five companies (Sun, 3Com, Network World, Tufts University, Animals Magazine) in four industries (high tech, biotech, publishing, medical sciences), and during that time I supported hundreds of technical spokespeople while engaging hundreds of media organizations globally. I used all of that communications experience — along with a background in writing and business — to transition into engineering project management and software community development.

In 2004 I moved from Sun’s corporate communications team in marketing to Solaris engineering where I participated in the creation of the OpenSolaris project. As a Senior Engineering Program Manager I managed community development projects throughout Sun, on opensolaris.org, and at conferences and universities globally. My core activities supported the opensolaris.org website project — a global software development team responsible for opensolaris.org’s 20 web applications, multi-site server facilities, development infrastructure, corporate partner access, and contribution programs. See website project roadmaps (as originally published on opensolaris.org): 2005, 2006, 2007, 2008, 2009, 2010 [add links here]

When I managed OpenSolaris projects for Sun I communicated openly and internationally via blogs (blogs.sun.com/jimgris, BSC front page (hits refreshed daily), BSC background) mailing lists, social networks, newsletters, websites, conferences, and press/analyst briefings. I created user group and advocacy programs and was a leader in the internationalization and localization effort, where I worked with Sun’s Globalization engineers and community developers on website localization projects. I managed the website infrastructure needs for the community, and participated on the website operations team providing support for users globally. Additionally, I presented OpenSolaris at conferences, universities, user groups, and customer meetings around the world (see a selection of presentations below).

I ran for a position on the OpenSolaris Governing Board in 2007 and lost but ran again and was elected to serve during the 2008-2009 term. While on the board I participated in weekly board meetings, presented sessions about governance at conferences, and drove the initial process to draft new governance documents in an attempt to simplify the community structure. I was also involved in designing and implementing the first community election during the OpenSolaris Pilot Program in 2005 when the governance group was then known as the Community Advisory Board. During that time I managed the year-long pilot program when our team engaged 300 Solaris developers, Open Source leaders, customers, partners, universities, and other teams inside Sun to plan and build the OpenSolaris program from scratch.

That’s pretty much it. Goodbye, OpenSolaris. Thanks for the memories. And the lessons.

My OpenSolaris Presentations

OpenSolaris Presentation Images

OpenSolaris Source Publication History

The list below contains five years of source code releases on opensolaris.org. Biweekly development builds were also released on the site, and after its initial release the internal OS/Net kernel source was available via live mirror from 2005 to 2010.

2005

  • 01/25/05: OS/Networking (ON) Consolidation: DTrace Source Code
  • 06/14/05: ON Consolidation (kernel) Source Code
  • 10/28/05: JDS Consolidation Source Code
  • 10/28/05: Dev Pro Consolidation: libm Binaries
  • 11/10/05: Dev Pro Consolidation: SCCS/make Binaries
  • 11/10/05: Install Consolidation: Package Tools Binaries
  • 11/15/05: OpenGrok Source Browser Source Code
  • 11/16/05: ZFS Project integrated into ON Build 27

2006

  • 01/27/06: Network Storage Consolidation Source Code
  • 02/22/06: DevPro Consolidation: libm/limvec Source Code
  • 02/28/06: DevPro Consolidation: libmtsk Binaries
  • 03/06/06: Install Consolidation: Packaging Tools Source Code
  • 03/29/06: SFW Consolidation Source Code
  • 03/31/06: Documentation Consolidation: Source for ZFS Administration Guide, Device Driver Tutorial
  • 03/31/06: X Window System Consolidation Source Code
  • 05/10/06: Globalization Consolidation: Source for OS/Net Consolidation Message Files
  • 05/31/06: Documentation Consolidation (4 books total): Source for, Solaris Dynamic Tracing Guide, System Administration Guide: Solaris Containers, Resource Management and Solaris Zones
  • 06/12/06: DevPro Consolidation: medialib Source Code
  • 06/26/06: Companion CD Source Code
  • 06/30/06: Documentation Consolidation: Source for OpenSolaris Developer’s Reference Solaris Containers: Resource Management and Solaris Zones Developer’s Guide
  • 07/28/06: Documentation Consolidation: Source for Solaris Volume Manager System Administration Guide, Solaris Express Installation Guide: Basic Installations
  • 08/31/06: Documentation Consolidation: Source for Solaris Trusted Extensions Installation and Configuration Guide, Solaris Trusted Extensions Label Administration, Solaris Trusted Extensions User’s Guide, Solaris Trusted Extensions Transition Guide, Solaris Trusted Extensions Developer’s Guide, Solaris Express Installation Guide: Solaris Flash Archives, System Administration Guide: Basic Administration, System Administration Guide: Advanced Administration
  • 09/11/06: BrandZ Project integrated into ON Build 49
  • 09/26/06: DevPro Consolidation: SUNWlibC (C++ runtime libraries) Binaries
  • 09/29/06: Documentation Consolidation (19 books total): Source for Application Packaging Developer’s Guide, DTrace User Guide, Solaris Trusted Extensions Administrator’s Procedures.
  • 10/06/06: Solaris PowerPC project source release
  • 10/20/06: SPARC Graphics Consolidation: Device Driver Binaries
  • 11/30/06: Documentation Consolidation: Source for Solaris Express Installation Guide: Custom JumpStart and Advanced Installations, Solaris Express Installation Guide: Planning for Installation and Upgrade, Solaris Tunable Parameters Reference Manual, System Administration Guide: Security Services
  • 12/08/06: Man Page Consolidation: Source for an initial set of 356 man pages
  • 12/18/06: ON Test: Source for the NFSv4 Test Suite
  • 12/19/06: DevPro Consolidation: Source for SCCS and make
  • 12/22/06: Globalization Consolidation Source Code

2007

  • 01/18/07: Globalization Consolidation: Source for multiple translations
  • 01/26/07: Man Page Consolidation: Source for a second set of 2790 man pages (total: 3146)
  • 02/20/07: Documentation Consolidation (24 books total at this point): Source for System Administration Guide: IP Services
  • 04/12/07: Documentation Consolidation: Source for System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP), System Administration Guide: Network Services
  • 05/24/07: Man Page Consolidation: Source for third set of 622 man pages (total: 3768)
  • 06/21/07: Man Page Consolidation: Source for fourth set of 306 man pages (total: 4074)
  • 06/26/07: ON Test: Source for the ZFS Test Suite
  • 06/27/07: Open HA Cluster: Sun Cluster Agents (data services) Source Code
  • 06/27/07: ON Test: Source for Common Test Infrastructure (CTI) for the Test Environment Toolkit (TET), iSCSI Test Suite
  • 06/29/07: Documentation Consolidation (28 books total): Source for Memory Thread Placement and Optimization Developer’s Guide, Solaris Modular Debugger Guide
  • 07/05/07: Open HA Cluster: Globalization Source Code for the Solaris Cluster Agents
  • 07/20/07: ON Test: Source for the Sharemgr Test Suite
  • 08/03/07: Documentation Consolidation (31 books total): Source for Solaris Express Developer Edition Release Notes, Solaris Express Developer Edition What’s New, Solaris Express Package List
  • 09/04/07: Documentation Consolidation (34 books total): Source for Solaris Express Developer Edition Installation Guide: Laptop Installations, Solaris Express Installation Guide: Network-Based Installations, Solaris Express Installation Guide: Solaris Live Upgrade and Upgrade Planning
  • 09/21/07: ON Test: Source for Share Management Test Suite, Kerberos Test Tools (krb5tools)
  • 09/24/07: Man Page Consolidation: Source for fifth set of 87 man pages (total: 4161)
  • 09/28/07: Website: Source for Portal Application Code
  • 10/18/07: Self-Service Testing: OpenSolaris Self-Service Testing application available and ready for use by OpenSolaris contributors
  • 12/04/07: Open HA Cluster: Sun Cluster Geographic Edition product Source Code
  • 12/21/07: Man Page Consolidation: Source for 17 additional man pages (total: 4278)

2008

  • 01/25/08: Man Page Consolidation: Source for 21 additional man pages (total: 4299)
  • 02/12/08: Documentation Consolidation (36 books total): Source for Solaris CIFS Administration Guide, System Administration Guide: Solaris Printing
  • 03/24/08: ON Test: Source for Secure by Default (SBD) Test Suite, Key Management Framework (KMF) Test Suite
  • 03/27/08: Man Page Consolidation: Source for 9 additional man pages (total: 4308)
  • 04/24/08: ON Test: Source for the NIC Driver Test Suite
  • 05/01/08: Documentation Consolidation (37 books total): Source for System Administration Guide: Devices and File Systems
  • 05/29/08: Open HA Cluster: Source for Solaris Cluster Core (final source for the Solaris Cluster product)
  • 05/30/08: ON Test: Source for FNFS (NFSv4) Test Suite, SMF Test Suite
  • 05/30/08: Man Page Consolidation: Source for 8 additional man pages (total: 4316)
  • 06/09/08: Documentation Consolidation (39 books total): Source for Writing Device Drivers, OpenSolaris Development Guide
  • 06/11/08: ON Test: Source for the Storage Driver Test Suite (SDTS)
  • 06/26/08: Man Page Consolidation: Source for 401 additional man pages (total: 4717)
  • 10/31/08: Storage Systems Products Group: Source for the Java Technology-based Interoperability System/Software/Storage (JIST) Test Suite
  • 11/13/08: Man Page Consolidation: Accumulated source for additional man pages over the last five months (total: 4717)
  • 11/20/08: Solaris QE: Source for Megacli Test Suite, Virt-Install Test Suite
  • 11/20/08: Solaris RPE: Source for the NetCat Test Suite
  • 12/11/08: Man Page Consolidation: Source for 852 additional man pages (total: 5569 which is 95% of all the man pages in the SunOS Reference Manual)

2009

  • 01/30/09: Man Page Consolidation: Source for 8 additional man pages (total: 5577)
  • 02/02/09: Solaris QE: Source for Lofi loopback file driver Test Suite, CPU Caps Test Suite
  • 02/08/09: Solaris NAS QE: Source for Network Data Management Protocol (NDMP) NDMPCOPY test tool, NDMP protocol Test Suite
  • 02/26/09: Documentation Consolidation (43 books total): Source for Image Packaging System Guide, Getting Started With OpenSolaris, Managing Boot Environments, OpenSolaris Automated Installer Guide, OpenSolaris Distribution Constructor Guide
  • 03/30/09: Man Page Consolidation: Source for 16 additional man pages (total: 5593)
  • 05/29/09: Man Page Consolidation: Source for 44 additional man pages (total: 5637)
  • 06/18/09: Solaris NAS QE: Source for CIFS Client Test Suite
  • 06/18/09: Solaris QE: Source for Wifi Driver Test Suite, Fwflash Test Suite, NFSGEN and NFS Loadstress Test Suites
  • 06/18/09: Services: Source for Diskomizer Test Suite (program for testing storage systems and APIs under extreme load)
  • 07/16/09: Man Page Consolidation: Source for 17 additional man pages (total: 5654)
  • 09/22/09: Solaris QE: Source for COMSTAR Test Suite
  • 10/05/09: Man Page Consolidation: Source update after technology removed from source hierarchy (total: 5648)
  • 10/28/09: X Consolidation: Read only Mercurial clone of the consolidation gate available on opensolaris.org