| Solaris |
|
|
Glynn Foster, Mon 21st Aug, 2006
With the introduction of OpenSolaris, there is an emphasis on being able to change our development model and processes for the greater gain. Not only that, there's also a priority to keep the delta between OSD and upstream vanilla GNOME as small as possible.
The current development model is relatively simple - take a released, stable community snapshot of the desktop, and then apply a set of productization patches. These patches can be many (averaging 300+ per release) and be divided into the following areas -
Within those areas we should expect that most of the normal bug fixes, documentation and localization have a higher probability of going upstream, than the feature patches. That has been true to some extents but with a somewhat dated product (OSD in Solaris 10 is currently based on GNOME 2.6) often those patches haven't gone upstream. With every patch that hasn't gone upstream, we have increased the maintainership burden internally. Another way of thinking about it is that those patches have failed - if they had any value, they would be already upstream in some form.
This could be perceived as a difference in approach from a product point of view - needing to provide the 'value add' that product management want, and consequently making it an easier sell by marketing. Ultimately, this hurts the community that we leverage the code from - we bite the hand that feeds us.
Simply put, develop to the latest unstable community code. Change our development processes so that we do as much of the high maintenance work on this codebase, then productize later. By productize I mean fix only very high priority bugs, and some simple branding.
So what does that really mean? Well, we need to change our development processes to sync in with the community better. The GNOME community operates on a 6 monthly time based release cycle, which while doesn't certainly make things very easy, it makes it predictable. This isn't just development from a code perspective - it has much wider reaching aims -
This document doesn't intend to map out all the concrete details of how this can work. There are many hurdles to overcome in terms of maximum benefit for our time. Quite often, unstable community code is a rapidly moving target, and we want to avoid wasting effort as much as possible.
There are a couple of benefits to gain from this -
While it would be ideal to only concentrate on unstable community code, we will at some stage need to work on a stable code base. These snapshots of official community stable releases will be the candidates for integration into Solaris. We will not integrate an unstable codebase at any stage, even though the majority of our development time will be on it. Any bugs identified in the stable codebase will be assessed, and depending on the prioritization, will only be fixed in the unstable codebase. Builds will be provided by release engineering for both - unstable and stable branches.
Terms of Use
|
Privacy
|
Trademarks
|
Copyright Policy
|
Site Guidelines
|
Site Map
|
Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
© 2012, Oracle Corporation and/or its affiliates.