User:Erikos/Planning 12 2 0: Difference between revisions

From OLPC
Jump to navigation Jump to search
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Dates of interest==
==Dates of interest==
* [https://live.gnome.org/ThreePointFive GNOME 3.6] to be released the 26th of September 2012
* [https://live.gnome.org/ThreePointFive GNOME 3.6] to be released the 26th of September 2012
** [ http://www.guadec.org/ Guadec 2012] 26th of July - 01 of August 2012
** [http://www.guadec.org/ Guadec 2012] 26th of July - 01 of August 2012
** GTK 3.6 to be released at similar dates
** GTK 3.6 to be released at similar dates
** Webkitgt is following the GNOME schedule as well
** Webkitgtk is following the GNOME schedule as well
* Fedora 18, to be released at the end of October early November 2012 looking at the [http://fedoraproject.org/wiki/Releases/16/Schedule Fedora 16 schedule] ** FUDCon for Fedora 18?
* Fedora 18, to be released at the end of October early November 2012 looking at the [http://fedoraproject.org/wiki/Releases/16/Schedule Fedora 16 schedule] ** FUDCon for Fedora 18?


==Calculate the schedule==
== Scope and aims ==
* start = Start date
* end = Release date
* regression_fixes = x weeks that are regression fixes only
* bug_fixes = x weeks that are bug fixes only
* holidays = x weeks of holidays
* old_cycle = x weeks finish work in the 12.1.0 cycle
* weeks_of_development = (end - start) - regression_fixes - bug_fixes - holidays - old_cycle


Example:
* Include Sugar 0.98, to be released the 28th of September 2012 (see [http://wiki.sugarlabs.org/go/0.98/Roadmap#Schedule Schedule])
* start = 1. May (18 calendar week)
* Move to new Fedora base
* end = 1. October (40 calendar week)
* Solve some known issues
* regression_fixes = 4 weeks
* bug_fixes = 4 weeks
* holidays = 2 weeks
* old_cycle = 2 weeks (8 weeks left, 2 weeks of work spending on bug fixes)
* 10 = (40 - 18) - 4 - 4 - 2 - 2
* If releasing the October 01 we would have 10 weeks (2,5 months) of development. If releasing November the 01 we would have 14 weeks (3,5 months) and if releasing December the 01 there would be 18 weeks (4,5 months) of full development.


== Schedule ==
== Needs ==
* port shell to GTK3 and gobject-introspection
** [http://wiki.sugarlabs.org/go/Features/GTK3/Shell shell porting page] and the [http://wiki.sugarlabs.org/go/Features/GTK3/Development toolkit porting page]
** port NetworkManager code to nm-glib ?
* port core activities
** [http://wiki.sugarlabs.org/go/Features/GTK3/Porting activity porting guide]


== Fixup ideas ==
Like [[11.3.0]], we aim to follow the general and slowly evolving [[Release Process]] (that page includes more details about all of the stages outlined below). The schedule is highly adopted to the Fedora 18 schedule and Sugar 0.98 schedule.
* Activity startup
* Activity launcher getting out of sync
* Palettes
* Collaboration
* move to gnome-session, [http://lists.sugarlabs.org/archive/sugar-devel/2012-April/036799.html Sascha's patches]
* more toolkit API and code cleanup


=== Development stage ===
== Feature ideas ==
* Collaboration

** [http://wiki.sugarlabs.org/go/Features/Transfer_to_many Transfer to many] (is a defered 0.96 feature)
* Start: June 2012
** [http://wiki.sugarlabs.org/go/Features/Can_share Can share] (is a defered 0.96 feature)
* Duration: 4 months
** make friends view interesting

** [http://wiki.sugarlabs.org/go/Features/Clipboard_Item_Transfer clipboard item transfer]
Differently to the previous 11.3.0 release the development phase is not only limited to small Features. Switching to Sugar 0.98 is a major task. As well the update of the Fedora stack is a major task, hence the much longer development phase.
* Shell

** [http://wiki.sugarlabs.org/go/Features/Display_Device Display device], advanced screenshot taking (is a defered 0.96 feature)
=== Bug-fixing stage ===
** Guide/Hinting animations (introduce the frame, more welcoming intro screen)

** Sugarize the AP password dialog
* Start: October 17th 2012
* Browse
* Duration: 4 weeks
** Advertisement blocker
* Focus on stability. No new features are accepted at this point, as we move into "bug fixes only" mode.

Upstream State:

* Fedora 18 will be released during that phase.

* Sugar 0.98 has been released by that date already and the first bug fix release will be made at the beginning of this cycle.

Guidelines:

* Sugar activities are frozen at the start of this milestone, but new versions will be taken when demonstrated to fix bugs.

* If the rate of change drops low enough, builds will begin to be signed by OLPC.

=== Regression fixing stage ===

* Start date: November 14th 2012
* Duration: 4 weeks
* At this point, the project should have the "ready for release" feel. This final milestone is reserved for final testing. The only changes accepted here are fixes for regressions over previous OLPC OS releases.

Upstream State:

* Fedora 18 has been released by that date. Fedora updates will only be taken (selectively) when shown to fix regressions.

Guidelines:
* All builds are now signed.

* Sugar activity updates will only be taken (selectively) when shown to fix regressions.

* We may also take trivial fixes to important problems (e.g. one-line fixes) where the risk is low.

=== Final release ===

* Date: December 12th 2012

== Work plan ==

OLPC plan to implement the following items during the development phase. Features that do not make the development stage will be deferred til the next release cycle. As always, we will continue to take contributions from the community in other areas, providing that they fit with our schedule.


== Risk areas ==
== Risk areas ==
* porting the Shell to GTK3/gobject-introspection
* porting the Shell to GTK3/gobject-introspection
* poritng the core Activities to GTK3/gobject-introspection
* porting the core Activities to GTK3/gobject-introspection
* new GTK version
* move to new Fedora base (Fedora 18)?
* Gstreamer 1.0, GStreamer through gobject-introspection (Record, Jukebox, Read) [https://bugzilla.gnome.org/show_bug.cgi?id=671569 gstreamer bug], [http://bugs.sugarlabs.org/ticket/3349 Read bug]
* Gstreamer 1.0, GStreamer through gobject-introspection (Record, Jukebox, Read) [https://bugzilla.gnome.org/show_bug.cgi?id=671569 gstreamer bug], [http://bugs.sugarlabs.org/ticket/3349 Read bug]

== Maintainability ==

Apart from exceptional circumstances, no new packages will be forked. This means all features have to go in through upstream channels. An upstream-first mentality will be maintained for the Sugar work:
* Bug fix patches must already be in the relevant 0.96 branch of upstream git
* Feature patches must already be in the relevant master branch of upstream git

== Testing ==

''to be defined''

== Trac conventions ==

Sugar and Sugar activity bugs must be filed on http://bugs.sugarlabs.org. All other bugs (or if uncertain) go to http://dev.laptop.org.

Bugs on dev.laptop.org are marked as "add to build" when the solution has been packaged, and then set to "test in build" by the release manager once a build has been made. Sam Greenfeld (QA lead) is in charge of watching and closing those tickets.

Bugs on bugs.sugarlabs.org are marked as fixed when the fix is committed to git, but tickets that deserve OLPC QA are keyworded with olpc-test (even in the fixed state). Sam Greenfeld (QA lead) is in charge of watching those tickets and to remove the keyword when his testing passed successfully or reopen the bug if failed. The developer committing the fix is in charge of closing the ticket.

== Release management ==

''to be defined''

==Links==
*

Latest revision as of 12:01, 2 May 2012

Dates of interest

  • GNOME 3.6 to be released the 26th of September 2012
    • Guadec 2012 26th of July - 01 of August 2012
    • GTK 3.6 to be released at similar dates
    • Webkitgtk is following the GNOME schedule as well
  • Fedora 18, to be released at the end of October early November 2012 looking at the Fedora 16 schedule ** FUDCon for Fedora 18?

Calculate the schedule

  • start = Start date
  • end = Release date
  • regression_fixes = x weeks that are regression fixes only
  • bug_fixes = x weeks that are bug fixes only
  • holidays = x weeks of holidays
  • old_cycle = x weeks finish work in the 12.1.0 cycle
  • weeks_of_development = (end - start) - regression_fixes - bug_fixes - holidays - old_cycle

Example:

  • start = 1. May (18 calendar week)
  • end = 1. October (40 calendar week)
  • regression_fixes = 4 weeks
  • bug_fixes = 4 weeks
  • holidays = 2 weeks
  • old_cycle = 2 weeks (8 weeks left, 2 weeks of work spending on bug fixes)
  • 10 = (40 - 18) - 4 - 4 - 2 - 2
  • If releasing the October 01 we would have 10 weeks (2,5 months) of development. If releasing November the 01 we would have 14 weeks (3,5 months) and if releasing December the 01 there would be 18 weeks (4,5 months) of full development.

Needs

Fixup ideas

  • Activity startup
  • Activity launcher getting out of sync
  • Palettes
  • Collaboration
  • move to gnome-session, Sascha's patches
  • more toolkit API and code cleanup

Feature ideas

  • Collaboration
  • Shell
    • Display device, advanced screenshot taking (is a defered 0.96 feature)
    • Guide/Hinting animations (introduce the frame, more welcoming intro screen)
    • Sugarize the AP password dialog
  • Browse
    • Advertisement blocker

Risk areas

  • porting the Shell to GTK3/gobject-introspection
  • porting the core Activities to GTK3/gobject-introspection
  • new GTK version
  • move to new Fedora base (Fedora 18)?
  • Gstreamer 1.0, GStreamer through gobject-introspection (Record, Jukebox, Read) gstreamer bug, Read bug