Linden Lab have announced their new viewer development model as promised, which is also their new open source development strategy.
I’ll start by quoting Oz Linden directly:
What’s Next For The Second Life Viewer?
Linden Lab spent the better part of the last two years revamping the Second Life Viewer to create Viewer 2. Some of the changes were important new features, and some were controversial – some were both. The bulk of the design and engineering work was done with only limited, indirect participation from the open source and resident communities, which has left many in those communities feeling alienated and disenfranchised.
In recent months we have released both Viewer 2 and a 2.1 update; Linden Lab has also been through a major reorganization. We are now evaluating the results of all of this work, and we are making significant changes to the way we design and build the viewer.
Introducing Snowstorm
Linden Lab has created a new team whose goal is to develop the Second Life Viewer in the open and in response to the needs of our Residents. Here are our goals:
- Show Residents continuous visible progress
- Work in the open by sharing not only our code, but our process publicly — this includes our backlog and our discussion about it.
- Engage with the open source community and aggressively accept good work the community does into our product.
- Release new ‘Development’ Viewers frequently — our initial target is bi-weekly. All builds from the ‘Development’ branch are visible and available for testing.
- Improve the user experience
- Make continuous improvements to the design and implementation of the Viewer’s user interface.
- Import desirable patches and features from Snowglobe and other Third Party Viewers.
- Add small features and fixes that have high value and low cost, while still remaining consistent with an overall product vision.
- Renew and deepen our relationship with the community
- Integrate community work directly into our main line Viewer rather than routing it through Snowglobe first.
- Demonstrate rapid responsiveness to feedback and patches from community.
- Engage continuously with the community to develop new project proposals and provide resources that open source developers need to be effective.
How Snowstorm Works
- Viewer development has moved to a single open source model
- There are no longer internal ‘private’ and external ‘public’ versions. Viewer source (with the exception of one wrapper library we cannot legally release), is now in public Mercurial source repositories. All viewer integration is happening in the Development repository at ‘http://hg.secondlife.com/viewer-development’. It is used by all Linden Lab viewer development teams, and open source developers are encouraged to pull from that repository and submit changes for integration to it.
- Code in the Development repository is now released under version 2 of the GNU LGPL
This allows community developers greater freedom to use the viewer code, including incorporating it into products that also include closed source.
- Accepted contributions go directly into the official Second Life Viewer
There is no longer a two-step process of contributing to Snowglobe and then hoping that the contribution is imported to the Linden viewer. Viewer development efforts within Linden Lab go through the same integration queue and into the same repository that open source contributions use.
- Innovations from Snowglobe are being imported to this new viewer
- Some changes may be left behind or modified in order to fit into Viewer 2; Linden Lab will work with open source contributors to harmonize contributions with the product goals of the Linden viewer. The plan is to import as much as possible of the excellent work that has been done in Snowglobe as quickly as possible (this rate does depend on help from you).
- Snowstorm team plans and priorities are open
We publish both what we’re working on (in public Jira issues and on our Sprint Backlog) and the projects we’d like to do (our Product Backlog). These projects are available for open source contributors to take on, and the Snowstorm team coordinates getting access to any Linden review and collaboration resources that are needed. Community members are encouraged to propose additions to the Product Backlog.
Who Is Building The Viewer?
Within Linden Lab, many different groups are doing Viewer development; the Snowstorm team manages the Development branch, coordinates contributions from open source, and does rapid small feature development itself.
Snowstorm is:
- Q Linden – Tech Lead, Team Lead
- Esbee Linden – Product/Business Lead
- Oz Linden – Open Source Lead
- Merov, Aimee, Tofu, and three external contract developers
- and, crucially, the open source community.
Where Are The Details?
Snowstorm operates in the open; the home page of the Snowstorm team is on the public wiki at
http://wiki.secondlife.com/wiki/Snowstorm_Team
it has pointers to our various communications channels, processes, and contact information.
The Snowstorm Team leads will be at the Second Life Community Convention on Aug 15, and will hold an open in-world meeting Aug 16 at the Hippotropolis Theater from Noon to 2PM SLT:
http://slurl.com/secondlife/Hippotropolis/239/28/24
Let’s see. That’s exactly nine viewer developers. Wow. Where’d they all go?
Oh, wait. Now I remember.
Aside from that, I need to think on this some more before forming an opinion either positive or negative (or perhaps both) about this.
But I bet you’ve all got some already. Okay, actually, I’ve got one: ‘Snowstorm’ is a really unfortunate name.
| Linden Lab have announced their new viewer development model as promised, which is also their new open source development strategy.
I’ll start by quoting Oz Linden directly:
What’s Next For The Second Life Viewer?
Linden Lab spent the better part of the last two years revamping the Second Life Viewer to create Viewer 2. Some of the changes were important new features, and some were controversial - some were both. The bulk of the design and engineering work was done with only limited, indirect participation from the open source and resident communities, which has left many in those communities feeling alienated and disenfranchised.
In recent months we have released both Viewer 2 and a 2.1 update; Linden Lab has also been through a major reorganization. We are now evaluating the results of all of this work, and we are making significant changes to the way we design and build the viewer.
Introducing Snowstorm
Linden Lab has created a new team whose goal is to develop the Second Life Viewer in the open and in response to the needs of our Residents. Here are our goals:
Show Residents continuous visible progress
Work in the open by sharing not only our code, but our process publicly -- this includes our backlog and our discussion about it.
Engage with the open source community and aggressively accept good work the community does into our product.
Release new ‘Development’ Viewers frequently -- our initial target is bi-weekly. All builds from the ‘Development’ branch are visible and available for testing.
Improve the user experience
Make continuous improvements to the design and implementation of the Viewer’s user interface.
Import desirable patches and features from Snowglobe and other Third Party Viewers.
Add small features and fixes that have high value and low cost, while still remaining consistent with an overall product vision.
Renew and deepen our relationship with the community
Integrate community work directly into our main line Viewer rather than routing it through Snowglobe first.
Demonstrate rapid responsiveness to feedback and patches from community.
Engage continuously with the community to develop new project proposals and provide resources that open source developers need to be effective.
How Snowstorm Works
Viewer development has moved to a single open source model
There are no longer internal ‘private’ and external ‘public’ versions. Viewer source (with the exception of one wrapper library we cannot legally release), is now in public Mercurial source repositories. All viewer integration is happening in the Development repository at ‘http://hg.secondlife.com/viewer-development’. It is used by all Linden Lab viewer development teams, and open source developers are encouraged to pull from that repository and submit changes for integration to it.
Code in the Development repository is now released under version 2 of the GNU LGPL
This allows community developers greater freedom to use the viewer code, including incorporating it into products that also include closed source.
Accepted contributions go directly into the official Second Life Viewer
There is no longer a two-step process of contributing to Snowglobe and then hoping that the contribution is imported to the Linden viewer. Viewer development efforts within Linden Lab go through the same integration queue and into the same repository that open source contributions use.
Innovations from Snowglobe are being imported to this new viewer
Some changes may be left behind or modified in order to fit into Viewer 2; Linden Lab will work with open source contributors to harmonize contributions with the product goals of the Linden viewer. The plan is to import as much as possible of the excellent work that has been done in Snowglobe as quickly as possible (this rate does depend on help from you).
Snowstorm team plans and priorities are open
We publish both what we’re working on (in public Jira issues and on our Sprint Backlog) and the projects we’d like to do (our Product Backlog). These projects are available for open source contributors to take on, and the Snowstorm team coordinates getting access to any Linden review and collaboration resources that are needed. Community members are encouraged to propose additions to the Product Backlog.
Who Is Building The Viewer?
Within Linden Lab, many different groups are doing Viewer development; the Snowstorm team manages the Development branch, coordinates contributions from open source, and does rapid small feature development itself.
Snowstorm is:
Q Linden - Tech Lead, Team Lead
Esbee Linden - Product/Business Lead
Oz Linden - Open Source Lead
Merov, Aimee, Tofu, and three external contract developers
and, crucially, the open source community.
Where Are The Details?
Snowstorm operates in the open; the home page of the Snowstorm team is on the public wiki at
http://wiki.secondlife.com/wiki/Snowstorm_Team
it has pointers to our various communications channels, processes, and contact information.
The Snowstorm Team leads will be at the Second Life Community Convention on Aug 15, and will hold an open in-world meeting Aug 16 at the Hippotropolis Theater from Noon to 2PM SLT:
http://slurl.com/secondlife/Hippotropolis/239/28/24
Let’s see. That’s exactly nine viewer developers. Wow. Where’d they all go?
Oh, wait. Now I remember.
Aside from that, I need to think on this some more before forming an opinion either positive or negative (or perhaps both) about this.
But I bet you’ve all got some already. Okay, actually, I've got one: 'Snowstorm' is a really unfortunate name. | | | |
This entry was posted
on Sunday, 15th August, 2010.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
Possibly related posts
Windlight devs cut loose from Linden Lab?, No KDU for you, says Oz Linden, Linden Lab backflips on Emerald transparency urgings, Virtual Ability Launches Project to Make Second Life Viewer More Accessible, The Snowstorm viewer development model
Commenters are to be civil, courteous and respectful to others, insofar as it is possible to do so. Beyond that, you're not required to agree with the opinions expressed by me or by others.
Think for yourselves! First time commenters will wind-up in the moderation queue and your comment won't appear right away. Ditto for anything that gets flagged by the anti-spam rules.
[...] This post was mentioned on Twitter by Tateru Nino and Botgirl Questi, Grid Syndicate. Grid Syndicate said: All the snow, none of the globe? http://goo.gl/fb/EKR7f #gridsyndicate #secondlife #lindenlablindenresearchinc [...]
Sorry if this reply is even worse than usual. Hehe. I’m short of sleep.
A little of this isn’t news if you follow the OpenSource-Dev mailing list. The restructuring of LL’s Mercurial branches has been something that’s been discussed there since… oh, maybe two months ago, I’ll say, since I’m too lazy to go look. While some of the details introduced here are surprises, I can honestly say I found the broad strokes to be pretty expected.
I guess Phil wasn’t kidding when he mentioned frequent release cycles yesterday. Hehe. What truly remains to be seen is how well these policies and promises work in practice. I’m gonna take a wait and see attitude for now. LL has been in the habit of keeping their internal work sequestered for so long now. They’ve had the viewer be open sourced code by the letter of the GPL, while never truly being an open source *project* by making use of open source’s community and cooperative aspects. This will be a huge change of gears for the Lab in more ways than Oz outlined, and it won’t be an easy one, no matter how sincere they may be. Technical challenges are only part of the picture here.
I suppose a good sign will be to actually *see* some TPV patches arrive in an SL viewer. That’s something I never would have imagined LL allowing. And it ups the game for TPVs, too. LL is gonna have issues with any hacky solutions. TPVs will need to polish and shine some of their stuff up if they expect LL to use them.
Oh, one last tiny ramble.
I wonder how much LL’s internal JIRA will mingle with PJIRA now. All we get right now is an little tag in PJIRA saying if there’s an internal version of the same issue, I think.
Snowstorm, actually very appropriate I think.
I am looking at the overall new direction Phil is steering, and it seems we are going to try going back to the old model of “everyone pitch in and make an awesome world”. Which is a wonderful model. Unfortunately that model is built on the trust and faith of your customers that all the work they are doing will somehow “pay off” for them. Phil, and his company have violated the trust and faith of those who worked the hardest, for years, and paid well for the privilege of doing so.
I do not think that they still have enough community goodwill to pull this model off anymore, frankly.
@Fogwoman: Agree immensely that there’s trust issues due to past behavior from the Lab. It’s too bad more people won’t see the Viewer 2 keynote, because Q, Esbee and Oz did a really great job at transmitting their enthusiasm for the Lab’s new approach, and how it affects massive parts of how the Lab now works internally, not just for viewer development.
@Tateru: One other thing that I think might be important to note is that the 9 people that make up SnowStorm do not represent viewer development in its entirety. Remember, Phil mentioned 15 scrum teams yesterday, and some of those teams will have significant contributions to the viewer. The search team certainly touches on the viewer, as does any team that might coordinate with scrums working on server stuff, to just name a couple examples.
Also, at first I didn’t think SnowStorm seemed like an unfortunate name. Then I started writing notes while watching the SLCC developer keynote in preparation for possible articles on my blog. I almost abbreviated it as “SS”… and stopped. That abbreviation is one that’s just begging to invoke Godwin’s Law or a corollary of it!
Linden Lab: We fire our programmers so you have to build the viewer!
Firestorm was taken.
Now, seriously, this sounds rather great
Even though I have the distinct feeling that Solo is right…
The only time I ever hear the word “snowstorm” it has traditionally been associated with verbs and adjectives for inconvenience, disruption and paralysis. Plus, there’s the marketing slang terms built off the word ‘snow’.
I’m concerned about the proposed licensing change to LGPL. On one hand this will make it easier for LL to pull back community changes into their closed-source viewers, and encourage a commercialized third-party viewer market. It may encourage commercial development of viewers we haven’t even imagined yet on a broad range of platforms.
However, on the other hand, it could result in a lot less bazaar-style community code innovation and open-source development than we have seen over the last few years. The license change may encourage teams to keep their contributions in-house in order to protect commercial interests. In this case there will be less accumulation of small improvements that are rapidly shared between multiple viewers. There might also be an amplification of trust issues that are already plaguing third party viewer development, since more viewer source is likely to be closed.
I wish the licensing would be BSD, so that experts in the viewer code could work on OpenSim and vice-versa…
@Gwyn: LGPL just might be relaxed enough to allow viewer devs to work with OpenSim code directly. But that’s speculative right now. We’ll have to wait for someone there to run it past their legal beagle.
Okay, apparently not all of the viewer development is being done where it can be seen. Apparently some of the development is exempt from transparency.
[...] says these days, “to bring Linden Lab back to the lead in innovation and technology”. Tateru Nino has already commented a bit on the change of strategy; I have to humbly confess that I’m not familiar enough with the Scrum methodology to comment [...]