Hermes & Gitorious - Commication & Collaboration: The openSUSE Ecosystem, Part 6

On Thursday, February 4th I gave a talk for the Bellingham Linux Users Group (BLUG), 'touring' openSUSE 11.2 as a desktop OS, and giving a broad overview of the projects and community that culminates in the openSUSE Linux distribution. For those who missed it, here's part six of the written interpretation of my discussion.

Hermes: They get the word out, you hear it your way. hermes.opensuse.org

Hermes is described as a "personal message dispatcher." (What?) In short, Hermes' administrators define 'resources' (sources of information that update Hermes when something noteworthy happens), and 'agents' (interfaces to communication systems: web pages, RSS feeds, emails, Jabber IM, Twitter). You, the end user, create 'preferences': what resources do I want to follow, and which agent should notify me? In the background, Hermes uses 'relays' (scalable scheduled processes) to find matches between your 'preferences' and incoming messages from 'resources', then route them to the appropriate 'agent'.


Still confused? Here are some examples:
  • I want to be emailed daily with the status of my projects from openSUSE Build Service.
  • I want an RSS feed of features I'm following in openFATE.
  • I want to follow a public twitter feed of all OBS activity ( @OBSHermes )
Hermes is an up-and-coming project, aimed at making it easy to keep up to date by any means you prefer. As more projects are added as resources, I expect it to become the standard for project status communication.


Gitorious is an open-source server for centralizing git (distributed version control system) repositories. Gitorious.org implements the gitorious server for hosting open-source applications. Its open nature and implementation quality have attracted some of the largest open-source
projects out there, including:
If you're looking for a safe place to host your open-source project, it will be in good company on Gitorious.

SUSE Studio - Rolling Your Own: The openSUSE Ecosystem, Part 5

On Thursday, February 4th I gave a talk for the Bellingham Linux Users Group (BLUG), 'touring' openSUSE 11.2 as a desktop OS, and giving a broad overview of the projects and community that culminates in the openSUSE Linux distribution. For those who missed it, here's part five of the written interpretation of my discussion.


Built with SUSE Studio
One of the newest members of the SUSE ecosystem, Studio is drawing attention to the SUSE distributions by allowing end users to easily customize their own distribution, either in broad, user-friendly strokes, or down to the tiniest minutiae, all from the comfort of a web browser.

The results of SUSE Studio are commonly referred to as appliances, as the most common purpose of the customization is to create a single-purpose system, typically for deployment in a virtual environment.

Your appliance is only a few clicks away.

Studio jump-starts your efforts to build an appliance using a Base Image, a prebuilt foundation to work from. These are available both for graphical desktops (like KDE, Gnome and IceWM) as well as text-only and the Just Enough Operating System (think small) images, built on openSUSE 11.2, SUSE Linux Enterprise 10 & 11, for both 32 and 64-bit architectures. Recently, additional images starting becoming available, including a prebuilt LAMP stack, and openSUSE desktop images for the most recent releases of both KDE & Gnome.

After selecting a base image, you can subscribe your appliance to software repositiories, and add or remove RPMs from the base installation. Simple configuration forms allow you to customize some common options: adding users, setting network behavior, setting custom backgrounds, configuring postgres & mysql database servers, vmware and xen image attributes, and editing scripts that are run after creation or boot of the image. For more granular control, individual files (or tarballs) can be uploaded and included into the image at a selected path, with selected permissions. All along the way a sidebar summarizes recent activity on your appliance, as well as the overall size of the disc image, and a composite of the custom background & logo for easy recognition.

At any point along the way you can build your appliance to suit. Select a format (appliances can be built as LiveCD ISOs, disk or thumb-drive images, or vmware or xen virtual machines.) After selecting a version number, a background system assembles your appliance image, and compresses it for easy download.

Go ahead. Take it for a spin.

So you've added a some packages, done your configuration, maybe uploaded some config files, and built the image. Now what? Well, you could download the image and see what you missed, or you could try it out it in the Studio. When you click he Test Drive link on a built image, the image will be launched on a virtual machine, and you will be presented with it, via a flash-based VNC viewer. At this point you have an hour of live time with your appliance to try it out, or customize it directly. In addition to the VNC interface, you can see a real-time list of files modified in the appliance, and download them or install them as overlay files on the image for the next build. Test Drive also provides ssh and http access to your VM for more convenient administration or testing of web applications. When you're finished making changes, or testing things out, just close the tab and the VM will be shut down.

Just plain awesome.


Currntly, I'm using Studio to maintain an openSUSE desktop that runs comfortably on HP thin clients, and a SLES-based Ruby on Rails server used to standardize a virtual web farm. Two completely divergent solutions, both of which are handled gracefully in Studio. Why don't you give it a try and see what you come up with... Studio makes "what if" into a downloadable image in record time :)

openSUSE Build Service - Packages Gone Wild: The openSUSE Ecosystem, Part 4

On Thursday, February 4th I gave a talk for the Bellingham Linux Users Group (BLUG), 'touring' openSUSE 11.2 as a desktop OS, and giving a broad overview of the projects and community that culminates in the openSUSE Linux distribution. For those who missed it, here's part four of the written interpretation of my discussion.


OBS allows developers to automatically build, package, and distribute software for all major Linux distributions. OBS builds RPM packages for openSUSE, SLE, CentOS, Fedora, RHEL, Mandriva, and DEB packages for Debian and Ubuntu/Kubuntu/etc-buntu.

Developers utilize the service by uploading source code and build instructions to the service, and selecting a set of target distributions. Packages are automatically built when one of your uploads, dependencies, or target distros change. Packages are arranged in projects, which provide hooks for subscribing via variety of nativepackage handlers (such as YaST, zypp, rug, etc.)

For each project build, a new virtual machine is constructed from a distro image, dependencies installed, your source added, packaging performed, results & log extracted to download. opensuse.org, then then VM is destroyed. This ensure that build is always pristine, never subject to unknown/unrecognized changes to the build environment. Those packages are hosted for free download through the downloads.opensuse.org mirrors, and registered on the search interface at software.opensuse.org/search , protecting developers from potentially costly bandwidth fees.

OBS also provides tools to aid in contributing to a project. For example, a developer can link an existing project, upload patches, then build and publish that customized package. Local tools are also available for expediting builds outside of the build cluster, and for integrating with existing source control management systems, to further simplify the process of getting your changes into the service.

OBS is flexible and scalable, allowing developers to work on small independent projects, or large groups to collaborate asynchronously. openSUSE 11.2, the pre-releases before it, and the current Factory builds are all produced completely within OBS, along with over 90,000 other packages in over 10,000 projects, by over 20,000 users!

openFATE - New Features the openSUSE Way: The openSUSE Ecosystem, Part 3

On Thursday, February 4th I gave a talk for the Bellingham Linux Users Group (BLUG), 'touring' openSUSE 11.2 as a desktop OS, and giving a broad overview of the projects and community that culminates in the openSUSE Linux distribution. For those who missed it, here's part three of the written interpretation of my discussion.


Well, the wiki puts it quite well:

openFATE is the openSUSE community interface to the Feature- and Requirements Management System of openSUSE and Novell's Linux Business. It opens the process of product planing and helps to:

  • get a sorted overview of features in upcoming products
  • follow and participate in the discussion by adding comments
  • work on the features for the next product generation (version) and help to make openSUSE an even better Linux distribution

The feature database is public, everyone can browse all openSUSE features without the need to log in. An openSUSE account is only needed to comment, change or vote for features.


In addition, a variety of tools have been put in place to make it easy for the community to manage new feature requests. A search engine is available for supported browsers; a dashboard provides ready access to both popular and new feature requests; mailing lists, RSS feeds, and integration with Hermes (I'll explain that in part 6).

The feature that most clearly distinguishes openFATE is also the obvious one: this is not for bugs! Bugs continue to be handled through Bugzilla, which does an excellent job. By distinguishing feature requests from bugs, contributers can more easily focus on the task at hand; the bug handling teams are relieved of the the load generated by feature requests, and true 'bugs', such as security issues, are prioritized over the addition of new features.

openSUSE Community: The openSUSE Ecosystem, Part 2

On Thursday, February 4th I gave a talk for the Bellingham Linux Users Group (BLUG), 'touring' openSUSE 11.2 as a desktop OS, and giving a broad overview of the projects and community that culminates in the openSUSE Linux distribution. For those who missed it, here's part two of the written interpretation of my discussion.

The Structure of a Community

openSUSE is a free, open project. Although Novell sponsors it heavily, the project belongs to the openSUSE community. Things were not always this way; before Novell's acquisition of SuSE, SuSE internally managed the course of the distribution, with little input or participation from the user community. Novell's decision to split the SUSE product line into the free, open, community managed openSUSE project, and the Novell-owned SUSE Linux Enterprise projects, has allowed the community to embrace, extend, and direct SUSE in a way that was not possible before.

The openSUSE project is governed by a document of Guiding Principles, managed by a Board of Directors, elected by the Membership, who are appointed from the User community. I'll explain each group in a bit more detail.

There are users and there are Users

openSUSE allows for its users to officially recognize themselves, proclaiming "I am an openSUSE User!" via users.opensuse.org . As of today, there are over 11,000 registered users worldwide. As an openSUSE User, one is entitled access to the complete member directory, election results, and easy access to the other SSO-enabled openSUSE sites.

As a User, one has the opportunity to accept the Guiding Principles: the document that governs the community and the project, and defines its identity apart from, and in cooperation with Novell. In a nutshell, we are the openSUSE community; we want to create the best Linux distribution in the world; we value the ideals of free software; we are governed by the board of maintainers. So far, over 4,300 Users have accepted the Guiding Principles, establishing the legitimacy of the project as a a free, open software project.

The largest benefit to being a User, though, is the stepping stone it places before you. As a user, one can apply for openSUSE Membership. Members are, by the definition of the project, users who have made a "continued and substantial contribution" to the community.

Membership has its Privileges

Users can apply based on the merits of any contribution, but it is a request not a grant. Applications are reviewed individually (currently by the Board) and granted on a case-by-case basis. Given, most applicants are accepted, assuming they understand what they are applying for. Applying without contribution, over-embellishing, or flat out lying about your contribution is a sure-fire way to get yourself drummed out.

Members do receive some interesting benefits, most of which are only of interest to those who would want to contribute anyway: an @opensuse.org email alias, an openSUSE cloak on Freenode's IRC servers, syndication on Planet SUSE, a Lizards blog account, and most importantly, access to Board elections.

Membership requires contribution, because Members must be committed to the project. From the Members the Board is selected and elected, who make the day-to-day decisions about the direction of our distribution. It is a serious responsibility, and an important role in the community. As of today, there are nearly 400 openSUSE Members.

The Board of Maintainers

During an annual election, Members may run for a position on the Board, half of which is elected each year to server a two-year term. The Board consists always of both Novell employees, and non-employee Members. Only the chair is directly appointed by Novell. The Board provides guidance, and facilitates communication with Novell; they are the official channel between the community and the corporation, responsible for ensuring the success of the project.

Get into the Groove!

If you use openSUSE, I encourage you to sign onto users.opensuse.org, and (if you agree) register your support for the Guiding Principles. Each user that does so strengthens our community, and therefore ensures the endurance of our project. If you are giving back to the community, apply for Membership, so your contribution can be recognized, and the horizons for your participation expanded. Who knows... maybe you'll be on the Board next year ;)