A few weeks ago at a family party, my brother-inlaw, Joel, handed my husband a lotto ticket and said, “I know gambling is not legal here, so I thought you’d enjoy this.” My husband Nate isn’t much of a gambler but in the spirit of being a good sport he read the directions, “Match any dollar amount and win that dollar amount.” He started scratching at the gray wax with his thumb nail. I watched only half interested. After all, who ever wins any money with a gifted lotto ticket? Scratch. Squint. Nudge. Then, “Look at this. Does it mean we won?”
I took the ticket and noticed he had scratched the wax off two squares; both read $20,000. I don’t want to say that my mind went instantly wild thinking about what we could do with an extra $20,000, but let’s just say tropical vacation and furniture for the new house both came to mind. Then I realized, this lotto ticket was a gift. Does that mean we have to split the money with Joel? I looked at my husband; he looked at me. I’m sure we were thinking the same thing but we didn’t say a word. Then Joel said, “What do you have to do to get the money? Read the back.” This seemed like a logical suggestion, so Nate flipped the ticket over and read the fine print out loud. When he got to the part that mentioned Santa Claus and the Easter Bunny, we knew we’d been had. Joel’s generous gesture had been nothing more than a practical joke, a ruse—we’d been had by one of the oldest tricks in the book. A fake lotto ticket.
Note: The old adage, “if it seems too good to be true, it probably is,” does NOT apply to what you are about to read.
> OpenSUSE Build Service: Hitting the Jackpot
The openSUSE Build Service (build.opensuse.org) is a free, open and complete development platform. It leverages openSUSE servers to provide the infrastructure for developing software and packages for many architectures including SUSE Factory, SUSE Linux Enterprise, openSUSE, Mandiva, Fedora, Ubuntu and Debian. The open design of the Build Service assures everyone has access to the tools, public API and status of a given build and logs. It also provides a way for contributions to integrate into existing software.
At the time of Novell BrainShare 2007 (March 2007), there were approximately 600 people using the Build Service. To join forces and see what openSUSE Build Service is all about, go to opensuse.org/Build_Service and click on “create an account” in the upper right-hand corner. Currently openSUSE Build Service isn’t completely open so you should consider this more of an application process. Anyone seriously interested in the Build Service is granted access. Once you receive account credentials from Novell, visit build.opensuse.org and log in.
> What is a project?
Registered users of the openSUSE Build Service can create and maintain projects within the Build Service. A project is a workspace for a set of users and software packages. It is the central place to manage the sources used for multiple distributions. A project may contain a list of users with “write access” which allows them to contribute sources or a description of how to download them, links to existing sources to be built in a different environment, changes for existing packages, a list of build targets to create binary packages for, and package repositories. A project can host:
- an entire distribution, such as the SUSE Linux Factory distribution
- a group of packages or a single package to be built on other distributions
- a small change (bugfix) for an existing package.
> OpenSUSE Build Service: No Bluffing!
Let’s talk about the Build Service and what you can do with it. Then we can get into some specifics about why you should consider joining the openSUSE Build Service whether you are an end user, developer, partner or distributer.
Once logged in, you’ll find yourself on the Build Service homepage. From here, you can navigate openSUSE Build Service, accessing a lot of interesting and helpful information including:
- List of all Projects
- Watched Projects
- Home Project
- Build Service status
> List of All Projects
You’ll find a complete list of all the projects currently created within the Build Service. Some will be familiar (such as KDE, Mozilla, OpenOffice.org and Banshee) and others will be less expected but just as interesting (Second Life: the secondlife client used for connection to the secondlife.com servers). From this list you can visit the overview page of each project to read a simple description and see what build repositories are available. The List of All Projects is also where you can add a project to your Watched Projects.
"The rating system allows us to see what users are using and allows them to decide for themselves what is included in the next version of the SUSE Linux distribution, which is a very important and forward-thinking model. No longer do we make a best guess or just decide for ourselves on a set of features or applications and then try to convince our users that they need them. With statistics, we know certain things are needed and used because there is a history to prove it."
This is where your experience with the Build Service becomes personalized. You can add the projects you’re interested in to your Watched Projects, which is the same concept as creating your wish list at Amazon.com. Watched Projects is an easy way to quickly see the projects you are interested in without having to wade through the complete project list each time you visit.
If you’re a developer, this is where you add your own project to the Build Service. Create a name and a brief description and you’re ready to go.
*Your Watched Projects and Home Project are easily accessible in the upper right-hand corner of the homepage once you log in.
The build service search tool uses the Ajax interface enabling you to quickly and effectively locate exactly what you are looking for.
Build Service Status:
You can filter based on the name of the project to find the project’s status, package, build architecture, and more. To see the length of time spent on a given build, check the Job Time column.
Finally, and most exciting, is the new addition of the statistics feature, which is currently in beta. Statistics provide valuable information about projects in the Build Service including:
- Most Active: provides a list of packages and projects with the most activity. Activity is measured by the update frequency and number of updates.
- Most Downloaded: provides a list of the most downloaded projects, packages, repositories and distribution. With a goal of being updated live, this list is currently updated twice a day.
- Latest Added: provides a list of the most recently added projects.
- Latest Updated: provides a list of the most recently updated projects.
- Highest Rated: provides a list of the projects receiving the highest rating by the Build Service users. Only registered users can rate packages and projects by clicking on one of five stars next to the header. Statistics only displays packages/projects with a rating of more than three stars.
"The variety of uses we are seeing with openSUSE Build Service is very exciting. Not only is there technical use like building for KDE desktop, but also less technical uses like Secondlife."
> What’s in it For You? A Full House of Benefit!
Supporting the whole of the open source community, openSUSE Build Service offers benefits to end users, developers and distributions alike. Meet a few likely participants of openSUSE Build Service.
> End Users
Profile: Hank is a biology undergrad and open source hobbiest who prides himself on having the coolest stuff before any of his friends. Hank tries to keep up with many popular applications such as Banshee, OpenOffice.org, Mozilla and Beagle.
Challenge: Hank likes to have the latest version of the open source applications he uses, but unless he knows when new updates are available, he could go months with an older version. He’d also like to be exposed to new projects, particularly those related to gaming, but doesn’t have a clear scope of what is out there and what is worth knowing about.
Benefits: Because Hank is busy with his studies, he finds it difficult to search for updates to his favorite applications. Being automatically notified when a new package, patch or version update is available goes a long way in providing Hank access to versions his peers won’t know about for months.
Taking advantage of the Statistics feature in openSUSE Build Service, Hank can make sound judgments about new and trusted projects. He simply views the list of Highest Rated, which helps him avoid the potential security problem created by installing software from external sources.
The open source community provides a lot of source code, but building and installation is often hard for inexperienced users. Because of his participation with the Build Service, Hank feels a greater connection to the open source community. He also recognizes the software he wants is more accessible than he first anticipated.
What Projects are Available? Hit Me Again!
The openSUSE Build Service currently has more than 300 projects. A snapshot of some of the highest-rated projects includes:
- KDE: Community (even more KDE applications)
- build (a package providing a script for building RPMs and DEBs in a chroot environment)
- KDE: KDE4 (KDE 4 development version builds)
- KDE: Backports (newest versions of applications contained in SUSE Linux)
- games: action (Race and other action games)
- X11: XGL (repository for XGL and related packages that give your Desktop bling)
- KDE: KDE3 (latest KDE 3 environment for released SUSE distributions)
- OpenSUSE: Tools (openSUSE.org tools)
- Education: desktop (desktop applications for education users)
- libqt4 (based on the package libqt4 from openSUSE.Factory)
Profile: Pascal is a developer for a software company currently working on a set of Web Services. The company recognizes the revenue opportunities of building their software to run on a variety of distributions and using the most updated feature set of each distribution.
Challenge: Before Pascal can work on the new software, he must build a compiler farm. He tests and uses their programs on a variety of platforms before releasing them to the public. Pascal feels a considerable amount of pressure to work quickly and efficiently, which becomes problematic when he is troubleshooting the environments.
OpenSUSE Build Service is an efficient way to make applications available across many distributions. It provides a comprehensive view of current/future open source projects and supports integration of external contributions.
Benefits: The Build Service contains multiple complete distributions. With access to SUSE servers and infrastructure, Pascal uses these distributions as a base, effectively testing his company’s software on trusted code from projects included in the Build Service.
Once Pascal gets his software working on each distribution, he links to them so his
software is triggered for a rebuild automatically if the depending project is updated.
Other benefits to Pascal include:
- a storage for sources and built packages that enforces version control
- the opportunity to run a build on specified environments
- a chance to build for multiple hardware architectures (currently x86 and x86-64)
- complete build status and logs.
Profile: DeeDee is a Linux enthusiast. She spends most of her free time contributing to open source projects and prides herself on being a significant player within the open source community. DeeDee has created a patch for Amarok (a free software music player for Linux) and wants to test it in a defined environment.
Challenge: DeeDee’s patch works with her current GNOME desktop environment, but she’d like to provide the patch to KDE users as well. She is hesitant to provide her patch knowing that if a newer version of either desktop is released there is a good chance it will no longer work.
Benefits: Creating a project for her patch within the openSUSE Build Service, DeeDee uses a tool to compile, release and publish her patch. She links it to both the KDE and GNOME projects. By doing so, her project is triggered for a rebuild automatically when the KDE or GNOME project initiates a new build.
Because DeeDee’s Amarok patch project received a strong rating within the Build Service Statistics, her patch is also included in the KDE and GNOME projects for future new builds. DeeDee’s experience is an example of how the openSUSE Build Project makes software available to a broader audience and connects DeeDee, as an open source developer, with end users in the same community.
OpenSUSE Build Service provides software developers with a tool to compile, release and publish their software to a broad user audience. It also allows download and mirror infrastructure for packages and provides a communication framework between the developers and end users.
SUSE Linux, Mandriva, Fedora, Debian
Profile: Many of the commercially backed distributions are trying to distinguish themselves from one another. Part of this competition involves encouraging developers to build applications for the distro to make it more dynamic.
Challenge: Distributions are changing dramatically from one version to the next. In between versions, service packs and patches are released that can affect features and applications built by independent developers and partners. Releasing a new version of code could mean a two-to-three month gap while drivers are being recompiled to run with the new code.
Benefits: The Build Service enables developers and partners, as members of the openSUSE Build Service, to have access to the latest code before it is released to the public. If linked to the distribution itself, applications, features and packages are triggered if a rebuild is required. At this point, the developer can work on rebuilds using the SUSE servers as infrastructure.
More and more developers are joining the Build Service. With the trust model endorsing the quality, knowledge is being concentrated and better, cleaner builds are being created across various distributions.
Additional Statistics of Interest
Top Three Most Downloaded Projects:
KDE:KDE3; X11:XGL; and KDE:Backports
Top Three Most Downloaded Packages:
kdebase3; kdegraphic3; kdemultimedia3
Top Three Most Downloaded Repositories:Top Three Most Downloaded Architectures:
i586; x86_64; noarch
> OpenSUSE Build Service is No Gamble
OpenSUSE Build Service is an efficient way to make applications available across many distributions. It provides a comprehensive view of current/future open source projects and supports integration of external contributions. No fine print to read; it truly delivers benefits to the open source community including end-users, developers, partners and distributors. Play your hand at this incredible contribution to the open source community—you’re sure to reap great rewards.