Difference between revisions of "Project Snowstorm"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with '{{Multi-lang}} __NOTOC__ {{Open Source Portal/Links}} {{Blurb|width=95%|bgcolor=#afffff| Launched in August 2010, the Snowstorm Team is responsible for coordinating development...')
 
 
(110 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Multi-lang}}
__NOTOC__
__NOTOC__
[[Image:New-Snowstorm-icon.png|left]] '''''Snowstorm'' is the project name we use for contributions from the open source development community.'''


{{Open Source Portal/Links}}
{{Box|Communications|2=
 
*[[User:Vir_Linden|Vir Linden]], Manager of Second Life Viewer
{{Blurb|width=95%|bgcolor=#afffff|
*Email list: [https://lists.secondlife.com/cgi-bin/mailman/listinfo/opensource-dev opensource-dev] ([http://lists.secondlife.com/pipermail/opensource-dev/ archive])
Launched in August 2010, the Snowstorm Team is responsible for coordinating development and integration of the Second Life Viewer, and for engaging the open source development community in its evolution.
* [https://community.secondlife.com/blogs/entry/6509-introducing-the-second-life-public-calendar/ Public User Groups]
*[[Linden Lab Official:Viewer Source Repositories]]
}}
}}


{|cellspacing="5px"
By nature, open source contributions generally do not fit well into schedules, but getting them into the main stream of viewer development does require some structure.  If you have work that you'd like to do, it helps to understand our [[Viewer Integration and Release Processes]]. 
|valign="top" width="50%"|
<div id="box">


==Mission==
'''If you are looking for tasks''' you can use to get familiar with how to work on the viewer, check out the [https://github.com/secondlife/viewer/labels/good-first-issue good-first-issue label].


* '''To improve the performance, reliability, and ease of use of the Second Life Viewer, while enabling the rapid, effective deployment of new viewer features and functionality to the Second Life Resident population.'''
There is a page on [[How To Propose A Viewer Feature]]; the Snowstorm team meets every other week with the Product Team (an internal cross-functional group) to review open source proposals for open source contributions.  The goals of this review are:
* To determine whether or not the proposal is one that fits into our vision for the viewer
* To ensure that it does not conflict with other work being done inside the Lab
It helps to have a comprehensive and specific description of the proposed change; what the user interface will be, how it will affect the shared experience of users, what backward compatibility issues it may have, etc.  For obvious bug fixes, the review can be nearly pro forma, but even then we may ask you to wait until another time or to modify the proposed fix in some way.  The result of this review may be that we will ask you to modify or refine the idea further, or we may decide that it is not suitable for inclusion in the main viewer code.


==Goals==
{{KBnote|Changes that introduce new Viewer features may not be submitted for integration without having a proposal reviewed and accepted first.  Changes to fix a bug that the triage process has Accepted may be submitted at any time so long as all integration criteria have been met (but a proposal for these is a good idea).
}}


Evaluate & Prioritize work by asking:
The review and QA process of open source issues issues is reflected in Github issue tracking its work, so you can track the status of any contribution by watching its status there.  This flow is described in [[How To Submit A Viewer Change#Open Source Submissions]].
:'''Does it make Second Life more Fast, Easy, and Fun?'''


* Work in the open (share work processes, branches, and backlog)
===Other Helpful Links===
** Demonstrate rapid responsiveness to feedback and contributions from the open source community
** Provide builds from the Development (integration) repository bi-weekly
* Improve user experience
** Clean up broken glass
** Fix viewer bugs
** Import improvements from Snowglobe, other Third Party Viewers, and open source contributors
** Add small features that have high value/low cost


For specific plans, see the [[User:Oz/draft/Snowstorm Project Viewer Backog|Snowstorm Project Viewer Backlog]]; the current list of product plans and priorities.  The Backlog is a living document, subject to change based on community feedback and resource availability.
* [[Develop Viewer Code]] a quick overview of how to set up and manage your working repositories


==Team==
* [[User:Q_Linden|Q Linden]] - Tech Lead
* [[User:Esbee Linden|Esbee Linden]] - Product/Business Lead
* [[User:Oz_Linden|Oz Linden]] - Open Source Lead
* [[User:Merov_Linden|Merov Linden]], [[User:Tofu_Linden|Tofu Linden]], [[User:Aimee_Linden|Aimee Linden]], + 3 contract engineers
* Open Source Contributors
</div>
|valign="top" width="50%"|
<div id="box">
==Communications==
:email list: [https://lists.secondlife.com/cgi-bin/mailman/listinfo/opensource-dev opensource-dev] ([http://lists.secondlife.com/pipermail/opensource-dev/ archive])
:irc: [irc://irc.freenode.org/opensl #opensl on freenode]
:[http://twitter.com/snowstormsl Twitter stream]
:[http://blogs.secondlife.com/community/technology/snowstorm Blog]
:[[Snowstorm Calendar|Calendar]] ([http://www.google.com/calendar/ical/lindenlab.com_k0e2g2gmqrhm0esbrh31f0qbac%40group.calendar.google.com/public/basic.ics ical])
::Standup: M-F 6:30am-7:00am {{SLT}} at [http://maps.secondlife.com/secondlife/Hippotropolis/146/73/26 Scrum Platform]
==Processes==
Snowstorm uses a modified [http://en.wikipedia.org/wiki/Scrum_%28development%29 Scrum] process. 
We maintain a list of all the work we'd like to be doing, called the ''Product Backlog''; it is a public living document, and new proposals may be added to it at any time:
* [[Snowstorm Product Backlog|Product Backlog]]
** [[How to Propose A Viewer Change]]
Work is organized into two week ''Sprint''s.  At the beginning of each Sprint, we choose items to be worked on from the Product Backlog to construct the ''Sprint Backlog'' - the list of tasks we are committing to complete in the Sprint.  Once chosen, this list is not normally changed during the Sprint.  Progress is tracked daily at the ''Snowstorm Team Standup'' - a short (target: 15 minutes) meeting in which contributors who have committed to deliverables in the Sprint report on daily progress, goals, and impediments:
* [[Snowstorm Sprint Backlog|Sprint Backlog]]
** Standup is 6:30am-7:30am {{SLT}} at [http://maps.secondlife.com/secondlife/Hippotropolis/146/73/26 Scrum Platform]
**: ''Note: the Standup is public, but only attendees who have committed to deliverables in the Sprint are allowed to speak or add to chat during the meeting.''
** [[Snowstorm Standup Archive|Standup Archive]]
In addition to its own development tasks, the Snowstorm team is responsible for integration of all contributions to the viewer from other Linden Lab development teams and from Open Source. 
* [[Viewer Integration and Release Processes]]
** [[How To Submit A Viewer Change]]
**: ''Note: Changes that introduce new viewer features may not be submitted for integration without having been reviewed and accepted into the Product Backlog.  Changes to fix a bug that the triage process has Accepted may be submitted at any time so long as all integration criteria have been met.''
</div>
|-
|}


==Questions & Answers==
==Questions & Answers==


* What is the team process?
; Who gets commit access?
*: We use a modified Scrum process
: Commit access by open source contributors is not available to any Linden Lab repository, including viewer-development.
** We intend to release development builds every Wednesday
: Individual development teams, whether inside or outside Linden Lab, decide who has commit access to their Project branches.
*** We focus on integration of new things on Mondays.
: For the Development branch, the Snowstorm Team has a Github-based queue for requests for integration (pull requests) from Project branches that have met the integration criteria. The Snowstorm team commits to servicing the items in that queue within 1 business day.
*** Wednesday is test, release, and reprioritization day.
; Which issue tracker are we using?
*** We will create a Second Life Development Viewer channel for the releases.
: We use the public [https://feedback.secondlife.com feedback.secondlife.com] and [https://github.com/secondlife/viewer/issues Github Issues].
* What is our release strategy?
** See the [[Viewer Integration and Release Processes]] page
* How are “big features” released?
** The project team for the feature (whether inside or outside Linden Lab) creates a clone of the development repository and develops the feature there; we call this a "Project branch".
** Projects are encouraged to build the viewer from the Project branch and give it to residents to test and experiment with the feature.
** When the feature is ready, the Snowstorm team pulls it back to the development repository.


** Our goal is short term, low cost, individual fixes, aimed at incremental improvements that will improve the viewer.  Other teams within Linden Lab will normally be aiming for larger, feature-centered, high-value projects that will require integration of resources across multiple technology centers.
[[Category:Open Source Portal]]
 
{{Multi-lang}}
* Who gets commit access?
** Individual development teams decide who has commit access to their Project branches.
** For the Development branch, the Snowstorm Team has a JIRA-based queue for requests for integration (pull requests) from Project branches. Nothing in that queue should be a surprise, as all of it should have gone through the Viewer Product Team. The Snowstorm team commits to servicing the items in that queue within 1 business day.
* Which issue tracker are we using?
** We’ll continue to use pJira until the new integrated Jira 4 becomes available. We’ll be using VWR and moving appropriate open issues from SNOW and Linden Lab internal projects (these will become part of the Snowstorm Team backlog).

Latest revision as of 02:20, 27 January 2024

New-Snowstorm-icon.png

Snowstorm is the project name we use for contributions from the open source development community.

Communications


By nature, open source contributions generally do not fit well into schedules, but getting them into the main stream of viewer development does require some structure. If you have work that you'd like to do, it helps to understand our Viewer Integration and Release Processes.

If you are looking for tasks you can use to get familiar with how to work on the viewer, check out the good-first-issue label.

There is a page on How To Propose A Viewer Feature; the Snowstorm team meets every other week with the Product Team (an internal cross-functional group) to review open source proposals for open source contributions. The goals of this review are:

  • To determine whether or not the proposal is one that fits into our vision for the viewer
  • To ensure that it does not conflict with other work being done inside the Lab

It helps to have a comprehensive and specific description of the proposed change; what the user interface will be, how it will affect the shared experience of users, what backward compatibility issues it may have, etc. For obvious bug fixes, the review can be nearly pro forma, but even then we may ask you to wait until another time or to modify the proposed fix in some way. The result of this review may be that we will ask you to modify or refine the idea further, or we may decide that it is not suitable for inclusion in the main viewer code.

KBnote.png Note: Changes that introduce new Viewer features may not be submitted for integration without having a proposal reviewed and accepted first. Changes to fix a bug that the triage process has Accepted may be submitted at any time so long as all integration criteria have been met (but a proposal for these is a good idea).

The review and QA process of open source issues issues is reflected in Github issue tracking its work, so you can track the status of any contribution by watching its status there. This flow is described in How To Submit A Viewer Change#Open Source Submissions.

Other Helpful Links


Questions & Answers

Who gets commit access?
Commit access by open source contributors is not available to any Linden Lab repository, including viewer-development.
Individual development teams, whether inside or outside Linden Lab, decide who has commit access to their Project branches.
For the Development branch, the Snowstorm Team has a Github-based queue for requests for integration (pull requests) from Project branches that have met the integration criteria. The Snowstorm team commits to servicing the items in that queue within 1 business day.
Which issue tracker are we using?
We use the public feedback.secondlife.com and Github Issues.