|
|
Log in / Subscribe / Register

Distributions

News and Editorials

Distribution-friendly projects Part 3

April 23, 2008

This article was contributed by Diego Pettenò

[Editor's note: This article, which looks at the interactions of software projects and distribution providers, is presented in three parts. Part 1 introduces the issues downstream distributions have with upstream software providers. Part 2 covers the technical needs of the distributions.]

Philosophical requests

The philosophical side of packaging is mostly of concern to the users, although the global goals of the distribution will have some philosophical issues as well. In this section I'll try to cover the most common requests of the downstream distributions to the various upstream providers.

Technical requests can usually be taken care of with compromises and options at build-time, so a solution will usually be found in time. Philosophical needs, on the other hand, often put distributions and original developers on two opposite positions, and cannot be fixed unless one of the two accepts the position of the other.

While technical needs are usually shared between distributions, different distributions have different goals, and in turn different philosophical needs, and this adds to the problem. A project wanting to accommodate the requests from a distribution might make life more difficult for another, that has different philosophical issues.

User expectations

Users of a distribution usually expect a certain behaviour from the software they install. For graphical applications, they also might expect a certain graphical aspect so that all the applications blend in together. These problems may be easier to solve as non-technical concerns go, as they usually require providing more choices.

One common example comes with fonts in graphical environments: most distributions these days ship with all the graphical applications set to use the same font family. This is done to follow the style rule of using as few different fonts in a single view as possible (you don't usually see a book using ten or twelve different fonts in the text). So one common request is for software to provide a way to change the default font without user intervention (which otherwise often involves changing the source code).

This still seems to be a technical issue; for example, using TrueType fonts requires the use of some sophisticated libraries for font rendering. Some projects don't want to complicate their code with them. Similarly, some distributions like to provide anti-aliasing for the default fonts, but some projects dislike the whole idea of using anti-aliased fonts.

A similar issue might arise with GUI toolkits. Distributions tend to provide the same graphical aspect for the software they install, this usually means that both GTK+ and Qt are set to a similar, if not identical, themes. So one other thing distributions might like is for graphical software to rely on a theme-capable toolkit. Themes and skin, though, are often disliked by minor projects, which might also not be using GTK+ or Qt toolkits, as they tend to make the code more complex and slow.

Users expect to be able to set their language preference and to have all applications use that language. Unfortunately adding support for translations is a far from trivial task, and adds complexity to the software, which is something that especially smaller software projects try to avoid. Similar complexity stems also from supporting text encoding like UTF-8, which - for certain distributions like Fedora - is a prerequisite for the software to be added to their repository.

It's easy to see that user requests are often pretty complex and hard to implement on many existing projects. The best way to make a project more appealing for distributions is to start from the beginning with these points in mind.

Distribution philosophical policies

There are also distribution policies regarding issues that are simply philosophical. In this category you can find the requests of distributions for removing code that deals with non-free formats, like most multimedia formats. All these issues are usually centered around licensing, copyright and patent-encumbered formats or algorithms:
  • Multimedia formats, video, audio or picture formats are often considered patent-encumbered (sometimes with the exception of Xiph formats like Ogg, Vorbis and Theora). Most distributions would like support for these to always be optional, for this reason. This might actually start to be a problem for multimedia applications as their main goal is just to provide support for these patent-encumbered formats.
  • Usage of GPL-incompatible libraries by GPL applications, and other forms of licenses mixing is a quite big issue for almost all binary distributions. Some distributions will not be able to legally redistribute packages with licensing issues. This is why distributions often push for optional support for GnuTLS as a replacement for OpenSSL, or build packages without SSL support by default. (In addition to license problems, SSL support is also encumbered with special cryptography legislation, which makes its handling even more a problem).
  • In both multimedia and cryptography there is the problem of patent-encumbered algorithms. Even when the format itself is not encumbered, the algorithm used to generate the result might be. Distributions want a way to opt-out some of the support in the software.
  • Support for network analysis tools can also be a problem. While the boundary between analysis and cracking can be quite thin, laws like the ones enacted in Germany start making it difficult for distributions to carry tools that are even well inside the definition of network analysis rather than network cracking.

For some distributions, there are extra policies that depend on the license used by the project itself. For instance if they disallow changes to the source (verbatim copy only) they might disallow the distribution from taking the proper steps to fix technical issues.

Each distribution has its philosophical goals, such as a focus on Free Software or a focus on corporate users. These goals will influence the distribution's view of philosophical issues. Companies tend to take a more defensive look at these issues than community projects. European projects tend to be more lax when it comes to software patent problems, and other countries don't enforce copyright laws. These are the types of factors that will affect a distribution's philosophical goals.

Conclusions

The issues described in this section can also conflict directly with the goals of the upstream project (and they often do), in which case the project is very unlikely to be packaged officially by at least some distributions.

This is why I categorized these issues under the philosophical name rather than technical. It's actually fairly common that issues of this kind sprout debates inside and outside projects and distributions, as developers and maintainers have very different feelings about them.

One example is a software package in which the team is composed entirely by native English speakers. Such a project has a fair chance to start without considering that some users might expect the user interface to be available in any other language. While this might sound a bit harsh, it's often true.

It is nearly impossible for a project to satisfy these issues altogether for every possible distribution. And it becomes even harder when the project itself focuses on keeping the code as simple as possible, even when that means ignoring features and optimizations that require adding complexity.

For this reason, the issues listed here have to be taken as suggestions, rather than requirements, depending on the original goals for the project. If the project wants to be widely accepted though, it will need to provide a good mitigation method for these issues.

Afterword

In addition to these issues, that relate directly with the source and the software, there are some extra suggestions that can be given to make the whole project friendlier to distributors, entailing process and workflow changes.

Making it visible in the source code who and where to send patches and suggestions is certainly a nice initial step. When preparing a patch for software that misbehaves, it's usually simpler to read the documentation shipped with the software. Distribution developers are less likely to open a browser to check the homepage of the software, looking for the address to use. This also means that you should always make sure to update your address referenced in the software documentation. If you change your email address, and the old one is no longer reachable, it is a good idea to re-roll the tarball even if no code changes are present (in these cases, adding a suffix to the tarball is better than changing the version).

Even better, having a public way to track patches is often useful: distributions can easily see if someone else fixed that issue before, and how. It might save a downstream maintainer some work, and it helps having a solution that works for more than one person at a time.

Acknowledging the patches, and pointing out what is not going to work, is something that helps reduce the frustration for maintainers, as it allows them to better suit the coding style of the project each time. Ignoring a patch entirely is not a good idea, as these patches are rarely non-issues.

It's also important to notice that almost always the patches don't concern optimizations. Most distributions are generally less concerned with the performance of the software over the correctness as defined by their own policies. Distributions would often prefer to reduce the speed of the software if that makes it better follow their policy. This has also to be understood and accepted, and at the best worked around by either improving the optimization, allowing an option, or by making a trade off.

Having a public repository for the source is often helpful, but often not in major ways. While it makes it easier for the downstream maintainers to check the progress of the code, it might not be trivial to identify where the correct source is. If the project uses branches it might well be that the upstream developers have already moved away from the broken code by the time a distribution tries to package it. If a repository is available, regular tagging and branching is helpful, and makes it easier for a maintainer to find what has actually changed between two or more versions.

Finally

This article cannot cover all the possible requests that a distribution might have, and it does not even get close to all the possible requests by all possible distributions. There are even more requests relating to portability, for distributions that target particular non-mainstream hardware (e.g. distributions targeting embedded device like OpenWRT) or distributions for other (Free and non-Free) operating systems (like Cygwin, Fink or FreeBSD ports). The remaining issues have to be coped with on an incremental basis, with collaboration of the downstream maintainers for that distribution.

Following these practices might make it easier for those people to contact the upstream developers to work out a solution. They make the project appear friendlier, just as well as saying Please let us know how we can improve your users' experience with our software. They change the mindset of a project so that it makes it less frustrating for packagers to prepare it for distributions. Going against all these points not only makes the job harder for the distributors, but might give the (wrong) idea that the project is not open to accommodating distributions.

Comments (1 posted)

New Releases

Number 9, number 9. Fedora 9 Preview has been cleared for takeoff!

A preview release of Fedora 9 is now available. "For this Preview release, we will be doing a staged offering. The first stage, available now, will be via bittorrent. The second stage, which should be available early next week, will be via our world wide mirroring system, and will include jigdo." The final GOLD Fedora 9 release is expected on May 13th. Update: Direct download and jigdo download options are now available for Fedora 9 Preview. Please see this page for details.

Full Story (comments: 34)

openSUSE 11.0 Beta 1 released

The first beta release for openSUSE 11.0 is out. "There are many exciting enhancements and features in the new release. Among these is the incredibly fast package management (libzypp), KDE 3.5.9 and 4.0.3, GNOME 2.22.1, a beautiful new installer, installable live CDs and much more."

Full Story (comments: none)

New Version of RedHawk Linux Offers Increased Real-Time Functionality and Performance

Concurrent has announced that it has released a new version of the RedHawk Linux real-time operating system. RedHawk Linux 5.1 can be used in time-critical applications in simulation and training, data acquisition, imaging, financial services and process control. RedHawk guarantees that a user-level application can respond to an external event in less than 30 microseconds.

Full Story (comments: none)

Slackware 12.1 RC2

The April 21st entry in the Slackware-current changelog says: "We have now reached the Slackware 12.1 RC2 milestone. :-) We're beyond updating packages or fixing minor cosmetic bugs at this point (actually, we had hoped to be past that with RC1, but there were still items in need of attention). What we have here now has proven to be stable for our testers, so unless some real showstoppers are found we'll be releasing this as Slackware 12.1-final soon.". Click below for this snippet of the changelog, or view the complete changelog.

Full Story (comments: 6)

Announcing the Release Candidate for Ubuntu 8.04 LTS

The Ubuntu team has announced the Release Candidate for Ubuntu 8.04 LTS (Long-Term Support) on desktop and server. The Ubuntu 8.04 LTS family of variants, Kubuntu, Xubuntu, UbuntuStudio, and Mythbuntu, have also reached RC status. The final release of Ubuntu 8.04 LTS is scheduled for 24 April 2008 and will be supported for three years on the desktop and five years on the server.

Full Story (comments: none)

Ubuntu 8.04 LTS server and desktop releases

Ubuntu 8.04 LTS, the Hardy Heron, is scheduled for release on Thursday, April 24, 2008. In anticipation, Canonical has issued a pair of press releases for the server and the desktop editions.

"Ubuntu 8.04 Long Term Support (LTS) Server Edition adds new features to enhance the performance, stability and security of this fully supported general platform. The LTS release sees further expansion of the commercial ecosystem of software, hardware and services vendors supporting Ubuntu Server."

"Ubuntu 8.04 Long Term Support (LTS) provides a stable platform for software and hardware vendors, developers and users. With three years of support and maintenance on the desktop, 8.04 LTS is a great choice for large-scale deployment. A substantial and growing ecosystem of free and commercial software built for Ubuntu provides a rich set of choices for desktop users. This is the eighth desktop release of Ubuntu. Ubuntu's track record in delivering - on a precise schedule every six months - a commercial operating system that is free, stable, secure and fully supported, remains unique."

Comments (28 posted)

Vyatta Community Edition 4 Scales from Branch Office to Data Center

Vyatta has announced Vyatta Community Edition 4 (VC4), the latest release of its reliable, commercially supported open-source network operating system. "VC4 delivers significant scalability improvements and expanded application support to its router/firewall/VPN feature set and achieves a 10X price/performance advantage over proprietary network solutions."

Comments (none posted)

Distribution News

Debian GNU/Linux

Bits from the DPL: FTP-master & DAM delegations

Sam Hocevar, the current Debian Project Leader, has appointed Joerg Jaspert as FTP-master and a full Debian Account Manager. Joerg is therefore empowered to create and remove developer accounts according to the New Maintainer procedure.

Full Story (comments: none)

Bits from the DPL: marketing team delegations

Sam Hocevar has appointed Andreas Schuldei and Moritz Muehlenhoff to the Debian marketing team. "I like to think of the marketing team as a non-technical equivalent to the technical committee, with a looser organisation. Its goal is to improve Debian's visibility and attractiveness amongst users and contributors, both actual and prospective."

Full Story (comments: none)

Bits from the New DPL

Steve McIntyre, the newly elected Debian Project Leader, shares some of his plans for the coming year. "The first thing I've promised to work on is a review of all the core jobs in Debian. There are plainly places where we can improve on how things are working, and my very first task is going to be looking into those."

Full Story (comments: none)

Summary: Extremadura meetings 2007

Three Debian work meetings were held last year in Extremadura, Spain. Click below for a summary of the meetings with Debian Edu, the QA, VoIP and Zope teams and the Qt/KDE and i18n teams.

Full Story (comments: none)

Fedora

Fedora goes to a community-dominated board

Fedora project leader Paul Frields has announced a change in the way the Fedora board is elected; as of the upcoming election, five of the nine seats will be elected by the community, while four will be appointed by Red Hat. So Red Hat will no longer select a majority of the board. "This is an issue I've been advocating over the past couple of weeks, and I'm delighted to be able to make this change following my first release as Fedora Project Leader. I look at this as a significant step in the evolution of the Board and Fedora's governance overall." It's worth noting that the Fedora leader (who must still be a Red Hat employee) retains veto power over board decisions.

Full Story (comments: 8)

Fedora Board Recap 2008-APR-15

Click below for a recap of the April 15, 2008 meeting of the Fedora board, which looks at spins, board succession, and Codeina.

Full Story (comments: none)

Fedora 9 Xfce Spin - Progress Report, Update

Rahul Sundaram takes a look at the Fedora 9 Xfce spin. "One of the major reasons I kept the package list small in Fedora 8 was to retain even the x86_64 image under CD size. Since the default multi-lib policy has changed in yum now to not install both 32-bit and 64-bit libs, I have added more useful (hopefully) packages. The total size in x86 arch is 608 MB and additional 20 MB or so for x86_64. I haven't tried it under PPC. Any testing there would be very welcome."

Full Story (comments: 1)

Fedora 9 Release date slipping by two weeks

The Fedora project has announced that the release date for Fedora 9 will be delayed until May 13. "This slip is not intended to make room for more changes, it is only intended to make room for fixing the things we already know about, and allowing new things to be found, and evaluated as release blocking, and fixed. There are also a fair number of bugs we think we've already fixed, but need wider audience testing to be sure."

Full Story (comments: 12)

Ubuntu family

SPARC architecture moved to ports.ubuntu.com for 8.04 and beyond

The Ubuntu SPARC architecture has moved. If you use this port you should update your /etc/apt/sources.list file to get future updates. Click below for more information.

Full Story (comments: none)

Have Ubuntu your way: 64 Studio Ltd. announces new custom distribution services

64 Studio Ltd. has announced that its Debian customization platform has been extended to support Ubuntu sources. This means that the company can now produce, maintain and support one-off distributions which retain package compatibility with official Ubuntu releases. "64 Studio offers OEMs and system integrators an automated platform which takes the labour out of distribution maintenance and back-porting. The company also offers day to day developer and end user support for the custom distributions it produces, including documentation services. Customer applications and branding are integrated into both daily install image builds and fully managed APT servers, allowing users to keep their systems up to date easily. Builds can be optimised for 64-bit x86 CPUs, low energy consumption 32-bit hardware, or legacy systems."

Full Story (comments: none)

New Distributions

Webconverger

Webconverger uses Debian Live technology to provide a Web platform for kiosks, thin clients, or anywhere else you want a secure, dedicated web browser. It runs from a live CD or USB device. A hard drive install option will probably be available in the future. The maxi version of Webconverger has good support for CJK languages, such as Korean. Webconverger 3 beta with Firefox 3 beta is available for download.

Comments (none posted)

Distribution Newsletters

Ubuntu Weekly Newsletter #87

The Ubuntu Weekly Newsletter for April 19, 2008 covers Ubuntu 8.04 LTS Release Candidate, Release Candidate Testing, Ubuntu Open Week, Abiword 2.6 needs testers, ShipIt 8.04 CD orders, Hardy Heron release parties, FISL (5th International Free Software Forum) in Brazil, Ubuntu Desktop training, Ubuntu ported to ARM, and much more.

Full Story (comments: none)

pure:dyne news

Pure:dyne is a community effort maintained by media artists for media artists. This newsletter covers the 'pure:dyne for everyone' program, the upcoming pure:dyne public events, pure:dyne code sprints in 2008, a new, Debian based pure:dyne! Click below to find out more.

Full Story (comments: none)

openSUSE Weekly News, Issue 18

This edition of the openSUSE Weekly News covers openSUSE Project Releases Major Update to openSUSE Build Service, Counting down to 11.0 - Get your counter here!, LugRadio Live (so far), Tips and Tricks: Colored shell, Stephan Kulow: openSUSE 11.0: Package installation 743% faster for default patterns, and more.

Comments (none posted)

DistroWatch Weekly, Issue 249

The DistroWatch Weekly for April 21, 2008 is out. "It's that time of the year when the fans of Ubuntu rejoice over another new release, while those jealous of the project's growing success on the desktop would rather stay away from the Internet. But Ubuntu is not the only option; although delayed by two weeks, Fedora 9 will arrive in a blink of an eye, while openSUSE 11.0, one of the most technologically advanced distribution releases the Linux world has ever seen, is also making huge strides towards the planned release date in June. In other news, Red Hat and OpenSolaris take different views of the alternative desktop, Mark Shuttleworth opens a discussion over the future of Gobuntu and gNewSense, Mandriva introduces a new urpmi feature for adding third-party repositories, and sidux announces the release of sidux-seminarix, a Debian-based distribution for schools. Finally, don't miss our feature story: a first look at Draco GNU/Linux, an unusual distribution that combines Slackware's base system and NetBSD's packages into a powerful desktop Linux solution."

Comments (none posted)

Debian Project News debuts

The first issue of Debian Project News (DPN) is out, with coverage of the new Debian Project Leader, an update on the release status, Debian participation in the Google Summer of Code, and much more. DPN is the successor to Debian Weekly News and will be a bi-weekly publication. Click below for the edition.

Full Story (comments: 3)

Distribution meetings

Ubuntu Live 2008 Takes Ubuntu Further

Registration is open for Ubuntu Live 2008. The conference is scheduled for July 21 and 22, 2008, at the Oregon Convention Center in Portland, Oregon. Canonical Ltd. and O'Reilly Media copresent this conference, which happens concurrently with the O'Reilly Open Source Convention 2008 at the same venue.

Full Story (comments: none)

Interviews

Gentoo Council member speaks with LinuxCrazy

Gentoo council member Mike Frysinger talked to David Abbott of LinuxCrazy. You can download the podcast or read the transcript. "David Abbott: What is the most fun about being a Gentoo developer? Mike Frysinger: As Gentoo users, we tend to learn a lot. Even as a developer, you learn about how everything fits together and how all the low layer pieces work. There really isn't any more magic anymore. You really learn it all. And the other aspect is working with all the other people. There are so many other Gentoo developers that are smarter than I am. They are great to work with. It's so much fun."

Comments (none posted)

Distribution reviews

First Look at Fedora 9 Preview (Red Devil's Tech Blog)

Red Devil takes Fedora 9 Preview for a test drive. "I'VE spent a few of days in the company of Fedora 9 Preview and my first impressions are very favourable. Installed into an 8GB Virtualbox virtual machine, it's a snappy release with a high degree of consistency and stability throughout. A lot of the hard work has been done on background stuff - those items mentioned in my 'Big Stuff' list below. But that's not to ignore the importance of visual appeal, where Fedora 9 scores very highly too. Anyway, here's my early impressions and a few screenshots to whet your appetites."

Comments (none posted)

5 Reasons Why You'll Love Fedora 9 (JonRob's Weblog)

Jonathan Roberts looks forward to the final Fedora 9 release. "One significant feature that has appeared in this release that has come from active Fedora developer Alexander Larsson is the improved file management abilities provided by GVFS, allowing the queuing of file transfers and increased resilience to failures. Also new in GNOME for Fedora 9 is integration of support for the X RandR extension: this allows a user to do many things, including drag and drop configuration of multi-head monitor set-ups. This particular feature landed too late to make it upstream for the 2.22 release, but it will be included in the next up-stream release."

Comments (none posted)

Page editor: Rebecca Sobol
Next page: Development>>


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds