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.
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:
- Development Community
- Sun Binary Distribution
- Solaris Source Code
- 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.
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
- May 28, 2010: Building Open Source Communities, Tokyo Bar Camp.
- November 2009: OpenSolaris Days, OSUG Meetings: Jakarta & Bandung, Indonesia, Presentation, Photos and four blog posts
- August 2009: COSCUP Taiwan, Institute of Applied Mechanics at National Taiwan University, Abstract, Presentation, Video: 1, 2, 3, 4, 5, 6, Photos & multiple blogs
- August 2009: Website Transition Update #3: Community Conference Call, Presentation
- June 2009: JavaOne San Francisco, Video
- May 2009: Japan OpenSolaris User Group Meeting, Presentation
- May 2009: BarCamp Tokyo, Presentation, Photos
- June 2008: OpenSolaris Developer Conference (OSDevCon), Prague, Abstract & 2 Videos of Presentation (Part 1 FLV, Part 2 FLV, Part 1 M4V, Part 2 M4V) Presentation, Video Interview with Chad Mynhier on Contributing to DTrace, Interview with Kelly Nishimura on OpenSolaris Distribution, Interview with Max Alt on the Intel OpenSolaris Project, OSDevCon blogs, photos, videos
- November 2008: China University Tour: Beijing, Fuzhou, Hefei, Presentation, Fuzhou Software Park, ACM/ICPC Competition, Hefei University, University of Science & Technology of China
- September 2008: Interview, How Software is Built with Scott Swigart and Sean Campbell
- September 2008: China University Tour: Beijing, Jiaotong, Linux UG, Presentation, Photos, Beijing OpenSolaris UG, Beijing Linux User Group, Jiaotong University, Beijing University
- October 2008: Pasona Tech Conference, Tokyo, Panel Discussion, Engineering Across Languages and Cultures, 世界で活躍できるエンジニアを目指せ【パソナテック カンファレンス2008】
- May 2008: OpenSolaris Summit, Santa Cruz, Two Presentations: Advocacy & Governance, Video Intros, Photos
- December 2007: FOSS.IN Bangalore, Abstract, Presentation, Photos, Photos
- IEEE 7th International, CIT 2007, Aizu University, Japan, October 2007, Presentation, Program, Photos
- May 2007: Sun Japan Business.Next, Tokyo, Provided content to Sun Japan team
- March 2007: China Software Innovation Summit, Beijing, Presentation (English, Chinese), Blog, Background, News: Beijing’s 2007 Software Innovation Summit, Chinese Press Coverage and Photos
- March 2007: Tokyo Open Source Conference, Presentation to Japan OpenSolaris User Group
- March 2007: OpenSolaris Developer Conference (OSDevCon), Berlin, Abstract, Presentation, Photos
- November 2007: Sun Tech Days China, University Tour, Presentation, Photos
- Tech Days 2006-2007, Tech Days 2007-2008, Content used by others in presentations
- July 2007: Tokyo Linux User Group, Presentation, Photos
- June 2007: OpenSolaris Day, Aizu University, Japan, Presentation, Video, Photos
- 2007 & 2008: OGB Elections, Response, Position 1, Interview 1 (MP3, Ogg), Interview 2 (Mp3, Ogg, MP3) Position 2, Constitution Rewrite, Original Roles (Note: Audio files deleted after Sun acquisition.)
- September 2006: 18th Annual Nihon Sun User Group Symposium (NSUG), Keynote, Presentation, Photos
- September 2006: Sun Tech Days China, University Tour, Presentation, Photos, University Tour
- July 2006: State of California, Sacramento, Working Group on Open Source, Presentation and Notes
- November 2005: JavaOne Tokyo, Presentation, Photos
- September 2005: Podcast with Ben Rockwood and Richard Giles on OpenSolaris, Audio (Note: Audio files deleted after Sun acquisition.)
- August 2005: LinuxWorld Expo San Francisco, Panel Discussion, Linux in Government Day: Bridging the Open and Proprietary Divide
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