Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Monday, August 12, 2019 at 10:29

(Launchpad, the site where source code of Ubuntu can be obtained)

I am currently distributing GNU/Linux in Indonesia. As you know, distributing libre software that is licensed under GNU GPL and such other licenses, requires you to distribute the source code too. A question pops up: where to get source code of a GNU/Linux system along with whole source code repository it possesses? For example, where to get Ubuntu's source code DVD and its source code repository? To answer that question, I decided to make a series of notes regarding my search in source code of popular GNU/Linux distros. Criteria I made are (1) whether a distro provides source CD or not, (2) where the official source code packages repo located, (3) where the raw source codes located, and finally (4) how to get them for end users. I also tried to find (5) mirrors of the source code repo. I am starting here with Ubuntu, of course, and next time I will look at Debian, Fedora, openSUSE, and Trisquel. I hope this article and the next ones will help anybody to understand how important the source code is and ease them to distribute free as in freedom software. Enjoy!

Subscribe to UbuntuBuzz Telegram Channel to get article updates directly.


This Series


I planned to make 5 articles in this series for 5 popular distros:
  • Ubuntu
  • Debian
  • openSUSE
  • Fedora
  • Trisquel

But I don't know the future, as many interesting distros available there (especially the fully free ones), perhaps I will add more if I consider it's interesting.

Terminology


  • Source code: refers to generally original form of every software written in programming language. A source code file written in C++ language would have .cpp extension, while Python is .py, and so on.
  • Binary code: software in executable form processed from source code. This is what you run / execute on your computer.
  • Distro: an operating system like Ubuntu or Fedora, which takes source code from multiple sources worldwide, and process them all to be binary code in the form of operating system itself and repository. 
  • Binary code package (.deb, .rpm): executable program format. Debian family uses .deb format while Red Hat family uses .rpm format.
  • Source code package: source code of a software that is already packaged as package by a distro developer. So for a given software, let's say Warzone, Ubuntu has its own package packaged by Ubuntu developers, while Fedora also has its own package, although the software is the same.
  • Raw source code: or development source code, source code that is written and published independently by its original developer.
  • SRPM (.srpm): source RPM, that is source code package format of RPM-based distros such as Fedora, Mageia, and so on.
  • Tarball (.tar.gz, .tar.bz, .tar.xz): raw source code package format.

1. Source Code CD


Source code CD or simply source CD is ISO image file containing source code of the executable ISO of  GNU/Linux distro and/or its repository. Fortunately, very fortunately, Ubuntu provides source code DVDs downloadable in ISO images. Why fortunate? Because with them, you do not need to find source code one by one that is wasting your time. And actually, this is the reason I wrote previous article and now this article as well.

Address: http://cdimage.ubuntu.com/source/bionic/source

(We can see 5 ISOs with total size by 16GB or more here)

2. Source Code Packages Repository


Packages here means source code in .tar.gz format packaged by Ubuntu developers to be obtained using APT command line at end-user's side. This is the secret behind 'deb-src' code in your sources.list file.




3. Raw Source Code Repository


All raw source code packages of Ubuntu are located at Launchpad. The raw ones are source code packages that are publicly available online to be developed together.


Note: 0ad, libreoffice, and vlc are package names for the realtime strategy game 0 A.D., and free office suite LibreOffice, and crossplatform media player VLC.

4. How To Get The Source Code


The easiest one, simply download them all source code ISOs and burn them to DVDs.

For individual source packages, either use apt-get source [name] command line or download manually from Launchpad website above.

For whole source repository, you would need APT-MIRROR tool to download them all. Please beware the size may be gigantic (my friend Dheny Muhammad Ismail said Ubuntu 18.04's was 100GB). Prepare fast and unlimited internet access + large free disk space before downloading.

That's all I can bring you for Ubuntu. Next time, I will write on source code of Debian.

to be continued...


This article is licensed under CC BY-SA 3.0.