This page is under development for Ubuntu website. Please add anything that would fit its purpose. |
Ubuntu Contributions
Many Ubuntu developers are also prolific free software developers and contribute to other projects, notably to Debian.
System Boot
Canonical employee Scott James Remnant developed from scratch Upstart, a modern event-based init daemon. Upstart is now default init system for Ubuntu, Fedora, Meamo, Chrome OS and Frugalware Linux.
- initramfs-tools was originally written by Jeff Bailey for Ubuntu, and later became Debian's default initramfs system.
Package Management
The dpkg Breaks field was implemented by Ian Jackson for Ubuntu.
dpkg triggers were implemented by Ian Jackson for Ubuntu.
- Ubuntu developed a simplified front-end to apt called gnome-app-install (originally written by Ross Burton, but then developed for some years by Michael Vogt of Ubuntu).
- Ubuntu developed a system to notify users about package updates (update-manager, update-notifier).
- Ubuntu is heavily involved in the development of apt, python-apt and Synaptic.
- An application to view and install deb packages called gdebi was developed by Ubuntu.
Software Center is a modern utility for software management in Ubuntu and Debian
Aptdaemon allows normal users to perform package management tasks, e.g. refreshing the cache, upgrading the system, installing or removing software packages.
computer janitor The app that was formerly known as "Systemcleaner application for ubuntu"
Installation
Ubuntu developers have made a number of important contributions to debian-installer:
- debootstrap progress via debconf, and a good deal of what became the first-stage task installer glue
- base-installer kernel selection refactoring and test suite
- much of udev support and devfs path removal
- pcmciautils support
- chunks of debconf maintenance effort such as the progresscancel and escape capabilities
- reserved username checks
- some of rescue mode
- translation handling work in cdebconf that saved about 20MB of run-time memory
In addition, we developed a custom graphical installer, Ubiquity, which uses debian-installer for many of its back-end tasks.
Jockey
Third party driver installation UI: https://launchpad.net/jockey
Crash interception
Apport intercepts signal and Python crashes, package installation failures, and potentially other problems, creates debug reports, sends them to a bug tracker, and has tools for post-mortem recombination of core dumps and debug symbols. It was ported to Fedora by Will Woods a while ago.
Brainstorm / IdeaTorrent
The engine that powers http://brainstorm.ubuntu.com is open and is being modified to be more project-neutral. http://ideatorrent.org/
Promotion activities
Software Freedom Day
Software Freedom Day (SFD) is an annual worldwide celebration of Free Software. SFD is a public education effort with the aim of increasing awareness of Free Software and its virtues, and encouraging its use.
The primary sponsor from the start was Canonical Ltd
Go Open Source
Go Open Source is a South African campaign to create awareness of, educate about, and provide access to open-source software. It is important, once awareness of OSS has been created, that interested parties have the ability to gain access to the software and services, and that they have access to additional resources for support and training. It ran from May 2004 to May 2006.
The campaign was launched by Mark Shuttleworth on behalf of Canonical, the CSIR Meraka Institute, HP, and the Shuttleworth Foundation.
Sponsorship
Canonical sponsor a range of conferences, events and groups including:
LTSP5
https://launchpad.net/~ltsp-upstream
https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall
Ubuntu was the first distro implementing the ltsp upstream MueKow specification of the next generation LTSP in 2005/6 (more detailed history).
The implementation is including some improvements like:
- Dropping the insecure XDMCP model that allowed you to even take screenshots from a networked X stream
- New sound implementation based on alsa
- A new way of handling local block devices as well
- New printserver to replace the unlicensed lp_server shipped with former ltsp versions
- Deep integration with the GNOME Desktop
- An LTSP specific display manager called LDM which simply acts like a graphical ssh client
- Multiple appserver support out of the box
- Deep integration with the debian installer and the Ubuntu alternate CD for a comfortable out of the box install for LTSP servers
- Deep integration with the Ubuntu hardware autodetection mechanisms dropping the need for configuration of thin clients in most cases
- Automatic swapping over the net if ram on a client is low
- Dropping the need for nfsroot resulting in massive client speedup through a unionfs/aufs mount on top of an nbd blockdevice that uses squashfs
Debian joined the development after 6 months supplying large contributions
Fedora recently picked up the Ubuntu code as well with the Fedora 9 release
Gentoo is working on an LTSP5 implementation based on this code as well.
OpenSuSE uses the existing LTSP5 code to implement a similar setup wrapped into their kiwi liveCD build scripts.
The upstream development which was led by ubuntu for 2.5 years was switched to a completely new model of cross distro team effort in October 2007; each participating distro has an upstream development contact in the ltsp-upstream team through which they can directly submit code to the launchpad bzr trees.
OpenSSH
OpenSSL
OpenVPN
Cert blacklist generation and packaging, mitigating the OpenSSL RNG vulnerability
Xorg
- Fixes and quirks for variety of issues in -intel, -ati, other drivers, and the X server.
- Participated with Fedora (and later Mandrake) in the early development of the Xrandr-1.2 gnome-display-properties capplet (subsequently taken upstream), contributing significant QA and stability bug fixes, and a revert dialog.
- X-Kit, a python library for parsing/modifying xorg.conf files. Used in EnvyNG and elsewhere through Ubuntu.
KDE
System Settings, the KControl replacement, was maintained and pushed into KDE 4 by Kubuntu developers.
printer-applet, part of KDE 4.1, was written by Jonathan Riddell
guidance-power-manager, part of KDE extragear, was written by Kubuntu developers.
Plasma Menu Bar
A Plasma widget to display menubar of application windows for kde
Plasma Widget Message Indicator
A Plasma widget which displays messages from message-indicator enabled applications for kde
Bazaar
Canonical sponsors development of Bazaar, a distributed revision control system used by many projects. Also, Bazaar is now a GNU project. http://bazaar-vcs.org/
Gnome
Canonical employs/employed some Gnome developers: Jeff Waugh (employed in 2004-2006), ...
BugZilla
Canonical is heavily involved in the development of upstream bugzilla and sponsership the upgrading the gnome-bugzilla . Full story
NotifyOSD
Notify OSD provides a notification system that provides simple and elegant bubbles that can convey different types of information, but are always dismissable by simply moving your mouse over the bubble, to fade it.
Application indicators
Application indicators provide a simple and effective API to provide an application icon in the notification area in the top-right part of the screen, and provide simple, accessible, and complete access to key parts of your application. With bindings for C, Python, and Mono, you can integrate your app into the Unity desktop quickly and easily
Unity
Unity provides a complete, simple, touch-ready environment that integrations your applications and your workflow. New Free and Open Source Shell for gnome desktop from Canonical and Ubuntu Community , started as a new generation for ubuntu netbook edition in ubuntu 10.10 using Mutter . For ubuntu 11.04 it has been decided to use unity with compiz as shell for gnome 3 instead of default gnome-shell . * Main Project Page
Canonical Multitouch
Infrastructure, libraries, and tools developed by Canonical in support of multi-touch hardware
Canonical is deeply committed to the future of computing and how humans interact with computers on a daily basis. Multi-touch technologies are the next step in this area, and this project groups aims to collect our efforts in this field centrally on Launchpad.
Patches
During package maintenance and bug triaging we develop countless fixes and send them to upstream. (e. g. the ones we submit to Debian, see also http://patches.ubuntu.com ).
Servers/Bandwidth
http://svn.gnome.org/ and http://l10n.gnome.org/ are hosted by Canonical. Launchpad provides hosting to many projects including Inkscape and Miro.
UFW
Ubuntu developed ufw (Uncomplicated Firewall), a frontend to iptables: https://launchpad.net/ufw
Netbook User Interface
Canonical has developed a new UI for netbooks (mini laptops), licensed under GPL3. https://launchpad.net/netbook-remix
Uncomplicated-VM-Builder
Soren Hansen and many others are contributing to this tool. https://launchpad.net/vmbuilder
AppArmor
AppArmor Linux application security framework, From 2005 through September 2007, AppArmor was maintained by Novell but then Maintained by Canonical Ltd since 2007 .
Ubuntu led the successful charge to got AppArmor into the 2.6.36 kernel.
"Canonical is committed to AppArmor's development and to that end in order to do it properly it needed to go upstream," Pete Graner, Manager of the Ubuntu Kernel at Canonical told InternetNews.com. "I wouldn't call that a victory, it's the right thing to do."
Launchpad
Launchpad is a set of Web services to help software developers collaborate. it has been recently open sourced.
PowerNap & PowerWake
PowerNap is a configurable daemon that will bring a running system to a lower power state according to a set of configuration preferences. It acts as a sort of "screensaver" for servers, watching the process table for activity rather than the keyboard or mouse. PowerNap will run $ACTION when none of $PROCESSES have executed for some number of $ABSENCE seconds. For instance, PowerNap can automatically "pm-suspend" a system if no instance of "kvm" runs for some contiguous block of "300" seconds.
Byobu
Byobu is an elegant enhancement of the otherwise functional, plain, practical GNU Screen. Byobu includes an enhanced profile and configuration utilities for the GNU screen window manager, such as toggle-able system status notifications
Ubuntu Font Family
The Ubuntu Font Family are a set of matching new libre/open fonts in development during 2010-2011. The development is being funded by Canonical on behalf the wider Free Software community and the Ubuntu project. The technical font design work and implementation is being undertaken by Dalton Maag. Members of the Ubuntu core development team are packaging the font in .deb format. The font was released under a libre-licence and is now packaged in Ubuntu 10.10.
http://launchpad.net/ubuntu-font-family (project)
http://fonttest.design.canonical.com/ (in-webbrowser online testing/feedback)
http://bugs.launchpad.net/ubuntu-font-family/+bugs (bug reports, please do contribute!)
Germinate
Germinate is a package available in Debian and Ubuntu which starts with lists of packages (called seeds) and grows them into a full list of packages including dependencies and (in additional lists) suggests, recommends, and sources for each of these lists.
Mago
Mago is a desktop testing initiative, built on top of the LDTP GUI testing framework (http://ldtp.freedesktop.org/), that aims to have a set of processes and code to make writing automated test scripts easier and more reusable.
Although we started this effort as an Ubuntu project, the framework and many test cases work for vanilla GNOME.
Xpresser
Xpresser is a Python module which enables trivial automation of Graphic User Interfaces (GUIs) via image matching algorithms.
* https://launchpad.net/xpresser
Simple Scan
Simple Scan is a GTK-based front-end for SANE , it's used widely by other distro like fedora .
* https://launchpad.net/simple-scan
Zeitgeist Client Library
This project provides a client library for applications that want to interact with the Zeitgeist daemon. The library is written in C using glib and provides an asynchronous GObject oriented API.
* https://launchpad.net/libzeitgeist
Loggerhead
Loggerhead is a web viewer for projects in bazaar. It can be used to navigate a branch history, annotate files, view patches, perform searches, etc. It's originally based on bazaar-webserve, which is itself based on hgweb for Mercurial.
* https://launchpad.net/loggerhead
Desktop CouchDB
Integration of CouchDB storage into desktop applications, for automatic replication and synchronization of data between computers.
desktopcouch refers to all the work Ubuntu has put in to making CouchDB easy for developers to use in applications for Ubuntu as well, there is a Python library, there are facilities for managing replication to other CouchDB instances and resolving conflicts (mainly UbuntuOne
* http://www.freedesktop.org/wiki/Specifications/desktopcouch
* https://launchpad.net/desktopcouch
XSplash
X based boot splash
* https://launchpad.net/xsplash
The Clutter Toolkit
A general-purpose toolkit for Clutter used by UNR's netbook-launcher.
Dee
Libdee is a library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus. It also consists of utility objects which extend DBus allowing for peer-to-peer discoverability of known objects without needing a central registrar.
BAMF Application Matching Framework
Removes the headache of applications matching into a simple DBus daemon and c wrapper library. Currently features application matching at amazing levels of accuracy (covering nearly every corner case).
DBus Menu
A small little library that was created by pulling out some comon code out of indicator-applet. It passes a menu structure across DBus so that a program can create a menu simply without worrying about how it is displayed on the other side of the bus.
Quickly
Quickly helps you create software programs (and other things) quickly. You can select from a set of application templates and use some simple commands to create, edit code and GUI, and publish your software for others to use.
Test Drive
TestDrive is a project that makes it very easy to download and run the latest daily Ubuntu development snapshot in a virtual machine. Actually, it can be configured to download and run any URL-access ISO in a virtual machine. But the primary goal is to provide a very simple method for allowing non-technical Ubuntu users to test and provide feedback on the current Ubuntu release under development.
Compiz
With recent unity move to compiz , it received a massive boost in usage, funding and developers (Compiz developers have been hired by Canonical and the Ubuntu developers themselves will commit code upstream).
* http://smspillaz.wordpress.com/2010/10/25/a-bright-new-future-for-compiz
OneConf
OneConf is a mechanism for recording software information in Ubuntu One, and synchronizing with other computers as needed
The Murrine Engine
Murrine is a very flexible theme engine for GTK+ written by Andrea Cimitan. Canonical sponsor the development of Murrine by contracting Abdrea Cimitan to continue his murrine development as a part of Creating the new ubuntu light themes .
The One Hundred Paper Cuts Project
PaperCut is a trivially fixable usability bug that the average user would encounter in a default application of Ubuntu or Kubuntu OR in any of the featured applications.
this project help ubuntu and the upstream too .
Nux
An OpenGL toolkit used in unity 3 with heavy contribution from unity team
Liblauncher
A library to build launchers
Indicator Display Objects
Widgets and other objects used for indicators.
Storm
Storm is an object-relational mapper (ORM) for Python developed at Canonical. The project was in development for more than a year for use in Canonical projects such as Launchpad and Landscape before being released as free software on July 9th, 2007.
OpenCD
OpenCD(now discontinued), a collection of high quality free and open-source software compiled for users of Microsoft Windows. The programs come with an easy-to-use graphical installer and run under Microsoft Windows and cover most tasks. Examples are the GIMP, OpenOffice.org, Mozilla Firefox and PDF creation software. It was sponsored by Canonical Ltd.
Checkbox System Testing
This project provides an extensible interface for system testing. The results can then be sent to Launchpad.
Ayatana
Ayatana is a collective effort to improve the user experience of software in and for Ubuntu. It encompasses a number projects started by Canonical and is open for feedback, ideas and initiatives from the community. Activities reach from problem definition, research and conception to implementation. The focus of the project is to improve the perception and presentation of information in the desktop, hence the name; the Buddhist term for a sense base or sense sphere. Specific areas of interest that take priority over everything else are: notifications, indicators, window management, launcher, places, settings and menus.
Ayatana On other Distro
- Archlinux
- frugalware linux
- http://lizards.opensuse.org/2010/12/29/kick-off-for-gnomeayatana-project/
- Fedora
- http://www.happyassassin.net/2010/12/03/unity-on-fedora-possibly/
Ayatana Patches
This page gathers the set of patches produced as part of the Ayatana initiative.
Most of the patches come from the notify-osd & messaging menu developments.
They are referenced as bug numbers in https://wiki.ubuntu.com/NotifyOSD
- gnome-settings-daemon patches for synchronous notifications: XXX (Macslow)
- gnome-power-manager patches for synchronous notifications: XXX (Macslow)
Pidgin-libnotify patches: http://sourceforge.net/tracker/?func=detail&aid=2614312&group_id=144907&atid=760301 (ted)
- Evolution-plugin: we're the upstream here
kerneloops patch to check for actions rejected upstream (kenvandine)
bluez-gnome patch hasn't been accepted yet, but karmic will use gnome-bluetooth, patch submitted
...