OpenSolaris 2009.06 Requirements Document

Document Author: Glynn Foster, v0.1

1. Executive Summary

 With OpenSolaris 2009.06, the focus starts to shift to the enterprise building on the latest successful release. Technology advancements such as Image Packaging System, ZFS Boot, Automated Install and the Distribution Constructor pave the way for new deployments in the enterprise with maximimal ease of use and reliability, whatever the task.

 Two new package repositories, pending and contrib, provide the opportunity of hosting the very latest in best of breed free and open source software in a readily accessible format. A series of contribution, rating and feedback tools for the software contained in those repositories encourages the participatory effect of community support, and ensures that OpenSolaris is the best platform for development and deployment of open source software.

 OpenSolaris will continue to have a re-distributable install image that can be mirrored on download sites around the world. Additionally, package repositories will be mirrored externally for the first time to allow users to connect to the closest repository and install software they need faster than ever.

 With software appliances becoming popular in today's market, the need for OpenSolaris to be flexible enough in a 'shrink to fit' (e.g. JeOS) environment is increasingly important. Significant package refactoring efforts, through package naming, meta-data and contents, will ensure OpenSolaris proves to be an excellent open source platform to develop new appliances, from storage to network.

 OpenSolaris 2009.06 will continue to strive toward key themes for each release - usability and user experience in out of the box configuration, security and auditability in a trusted environment, virtualization, performance and scalability, globalization in a changing world, accessibility for those with assistive needs, while highlighting OpenSolaris' unique technology and strengths.

2. Technology Priorities

 The following section lists out a set of technology priorities for OpenSolaris 2009.06. It by no means attempts to be an exhaustive list of projects for inclusion in this release.

 ==== 2.1 Installation
        INS-1: Continue to advance the area of automated installation in
               OpenSolaris 2009.06 with the addition of a graphical
	       user interface alongside the existing command-line utility
	       for starting the AI web service on a given server.
        INS-2: Provide a command-line utility to convert existing
	       Jumpstart installation profiles to Automated Install ones.
        INS-3: Provide an installation web service hosted on opensolaris.com
	       allowing registered users to connect their machines and
	       install against a selection of profiles.
	INS-4: Allow users to upload their favourite automated installation
	       profiles to share among other users, or register them with
	       the installation web service hosted on opensolaris.com.
        INS-5: The distribution constructor should be capable of creating
	       install images that Automated Install can consume.
        INS-6: Automated Install should support both x86 and SPARC
	       platforms.
        INS-7: Live CD install should support a 'lightweight install' option
	       booting into a simple X session and starting the graphical
	       installer immediately.
        INS-8: The minimum required memory for Live CD install should
               continue to be 512 MB. Both Live CD 'lightweight install' and
	       automated install should work on considerably less, though no
	       required minimum is provided at this time.
        INS-9: GRUB, the graphical boot manager, should support nested
               menu options such that additional options can be displayed
               without reducing simplicity/usability of fewer options.
       INS-10: All installation options, both Live CD and automated
	       install, should provide accessible interfaces for those
	       with disabilities to successfully install OpenSolaris.
       INS-11: The installer should be able to detect if existing platforms
	       are installed on a system (and, preferably be able to read
               common file-systems in use today), along with providing some basic
	       partitioning tools to make the transition to installing
	       OpenSolaris easier.
       INS-12: The installer (both graphical and network based) should be
               able to install additional software from a network repository
               at install time.

2.2 Package Management

        PKG-1: Provide the infrastructure to allow site admins to easily mirror
	       the contents of the package repositories on opensolaris.org
	       without needing to have OpenSolaris (or a package depot)
               installed on their system. Preferably the solution should use
	       the rsync utility for convenience and familiarity.
        PKG-2: Users should be notified when an existing package update
	       requires a reboot of their system, so they may choose to
	       postpone those updates until a more convenient time. Additionally
	       users may decide to lock down a specific version or versions
	       of software from a package update, and should only be notified
	       of package updates that conform to these rules.
        PKG-3: The graphical package manager should notify the user when
	       new packages become available, preferably in a non-intrusive
	       fashion.
        PKG-4: Provide a graphical way to find out which are the most popular
	       packages that users are installing, allowing the user to 
	       rate a package, or submit feedback on that package to a global
	       database.
        PKG-5: Provide a way through a series of package operations for users
	       to see what files within that package have changed between two
	       given versions (or set of versions).
        PKG-6: Provide a way through MIME type association or otherwise, for
	       the user to be able to perform a single-click download and
        PKG-7: The package repository depot server should provide a full
	       search capability through a web browser, and allow users
	       to determine information (name, description, version,
	       contents, license etc) about a given package. Additionally,
	       they should be able to determine which packages are available
	       for a given milestone release and associated updates.
        PKG-8: IPS should support the creation and management of lightweight
	       zones inheriting a core package set up from the global zone,
	       allow the user to additionally install what they need. IPS
	       should search for what it needs locally on the global zone before
	       going to the network ie. if mysql was available in the global
	       zone, it should inherit from that rather than download it again
	       from the package repository.
	PKG-9: IPS should support an image-update across multiple zones as a
	       default option.
       PKG-10: IPS should support the removal of EOL'ed packages from a package
	       repository, either by actual removal or hidden browsing.

2.3 Familiarization

        FAM-1: Package refactoring (name, meta-data and dependencies) should be
	       performed on packages in the /release repository to aid with
	       familiarization for those coming from a different platform, and
	       be consistent to the upstream component name. Where there is a
	       strong relationship between a group of packages, a meta-package
               can be created.
        FAM-2: Provide at least 80% of the top 20 searches to pkg.opensolaris.org
               as new software packages in the network package repository. The
	       top 20% of packages in the /contrib and /pending repositories
	       should be candidates for eventual integration into the /release
	       repository.
        FAM-3: The default boot splash should be a graphical progress
	       indicator, hiding some of the boot messages from the user.
	       The user should have the option, during boot, to dynamically
	       show the boot messages should they wish.
        FAM-4: New boot environments should be associated with a user defined
	       label, for a more consistent and usable experience in the GRUB
	       boot manager. Existing menu options during install and post-install
	       should be simplified where possible for improved usability.

2.4 Hardware Support

        HDW-1: Ensure there is an easy mechanism to install hardware drivers 
	       onto a potentially non-networked base system, when a driver is
	       not installed by default.

2.5 Desktop

        DSK-1: Provide a graphical interface to allow the user to regularly
	       back up their data onto an external drive using ZFS snapshots
	       or mirroring. Users should be able to restore their data from
	       a given back up drive with a simple grahical interface.
        DSK-2: A user should be able to automatically detect printers
	       connected directly through USB, or attached to their network.
	       For each printer, they should be able to configure their
	       printing options with a simplified graphical user interface,
	       along with monitoring any queues to that printer, and their
	       current print job. Preferably this should be a CUPS based solution.
        DSK-3: Provide KDE and Xfce as alternative desktop environments for those
	       wishing to install it.
        DSK-4: Provide an interface to easily switch between virtual consoles and
	       existing desktop sessions through a series of keybindings.
        DSK-5: Compiz should be the default window manager for all capable
	       graphics cards.
        DSK-6: Graphical boot should be the default option for OpenSolaris 2009.04,
	       providing an obvious indication of boot progress. An option to allow
	       advanced users to read boot messages with a simple key press toggle.
        DSK-7: Fast reboot should be the default option where possible. The system
	       should try to detect whether drivers support quiesce(9E) or not
	       and judge whether the environment is suitable for a fast reboot
	       appropriately.

2.6 Network

        NET-1: Provide network virtualization and resource control, allowing the creation
	       of a virtual stack that can be assigned its own priority and bandwidth
	       on a shared NIC ie. Crossbow.
        NET-2: Provide a graphical interface to allow users to share out their
	       network connection to others ie. they connect through a wired connection,
	       and share out over wireless with a user set network encryption key.
	       Additionally, users should be able to set predefined conditions for this
	       network share like bandwidth allocation or CPU throttling.

2.7 Storage

        STO-1: Provide a iSCSI port provider adding support for an iSCSI transport
	       option for COMSTAR.

2.8 Documentation

        DOC-1: Provide a wiki on opensolaris.com to host documentation for the OpenSolaris
	       distribution, allowing users to be able to provide feedback on existing
	       howtos based on their experiences.

2.9 Power Management

        PWR-1: Provide a tickless kernel architecture to OpenSolaris ensuring that
	       all systems reduce their power consumption during idle periods, and
	       power down the CPU appropriately.

2.10 Developer Stack

        DEV-1: Provide the latest versions of the popular GNU compiler stack used
	       in common free software communities today, including autotools and scons.
	       Versions should be decided on feedback from the pkgfactory project,
	       and other consumers of that software.
        DEV-2: Provide Bazaar and Git in the package repository, 2 of the more popular
               source code management tools used in the open source communities.
	DEV-3: Provide the popular JavaFX stack in the network package repository.

2.11 Web Stack

        WEB-1: Provide a set of the 10 most popular web development frameworks
	       eg. Rails, Django, in the network package repository.
        WEB-2: Provide a set of the 10 most popular content management frameworks
	       eg. Zope, Plone, Joomla!, Drupal, SilverStripe in the network
	       package repository.
        WEB-3: Provide a set of the 5 most popular wiki frameworks eg. TWiki, JSPWiki,
	       MediaWiki, Moin Moin in the network package repository.
        WEB-4: Provide a set of the 3 most popular blogging frameworks
	       eg. Wordpress, Movable Type, Roller in the network package repository.
        WEB-5: Provide a set of 4 of the most popular database frameworks used by
	       various web applications eg. MySQL, postgresql, sqlite, drizzle in the network
	       repository.
        WEB-6: For at least 70% of the frameworks added, provide an initial set of
               DTrace probes to allow developers to profile their web applications
               in realtime.
        WEB-7: For at last 40% of the frameworks added, provide an optimized experience
	       on OpenSolaris eg. optimized binaries, SMF service support
        WEB-8: For each framework added to the network package repository, provide the
               shortest time to startup possible, starting them using a default
	       configuration, default database, and port so that the user can see the
	       results of their software addition immediately.

2.12 Distribution Construction

        CON-1: Provide infrastructure to easily create virtual images for VirtualBox.
        CON-2: The distribution constructor should allow the creation of images to
	       be used in co-ordination with the automated install web service.
        CON-3: The distribution constructor should have a graphical interface to
	       accompany the command-line interface.

2.13 Device Detection

        DDU-1: Provide a means to submit the collected information securely to a
	       centralized database, along with any additional reports from the user
               of whether certain devices work eg. sound. The user should get a
               confirmation thanking them for their submission, stating that it has
               been an invaluable contribution to the project, with a link to where
               their report is available to view anonymously. 
        DDU-2: The database should have a public front-end, preferably on opensolaris.org/com,
               allowing users to anonymously search entries that have been submitted, along
               with being able to get a series of reports based on the raw data eg. top 10
               wireless drivers that are supported, unsupported, or known to work. Additionally,
               the interface should allow the users to comment as appropriate on various 
               platforms with workarounds or otherwise that are available.  
last modified by admin on 2009/10/26 12:14
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
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.