Hello,I'm a student of computer science and am currently researching the implementation of Linux in the day-to-day life of the average Joe. I am still in the phase of gathering information, but I am still struggling with a number of questions about the development model itself of Linux. I have searched the forums, googled it and asked around profusely, but not a single person was able to give me a clear answer.

The organizational structure of the developing of the Linux Mint OS is specifically what I am searching for. I of course do not need names or personal information just a kind of flowchart who does what.Now I know that being as it is, open source and all everyone is free to contribute, be it with financial aid or simply by reviewing the latest release. But I'm most interested in the developing itself and who decides which person is capable of writing this particular code for this piece of software. If someone could point me in the right direction, or to someone who knows more about this and is willing to help I'd be much obliged.

Sincerely Thomas CallensBrugge, BelgiumPS. I'm sorry for the incoherent ramble, but English is not my native tongue and I'm not used to posting on forums, you'll have to forgive me.

Yes, I already saw that wiki page, but I couldn't believe that they were actually doing all the work on developing Linux Mint. They have to outsource some code-compiling I assume. Or do the main developers for let's say the GIMP project just develop for all the different Linux distributions? Thanks by the way

Mint is based on Ubuntu. In fact Mint releases are just modified Ubuntu with some extra Mint software added (and some Ubuntu specific stuff removed). The Ubuntu repository is still used for most packages.

There's also Debian-based Mint, on that distro we also use packages that come right from Debian, though Mint has its own repository for those packages and does not use Debian's servers.

Registered Linux User #528502Feel free to correct me if I'm trying to write in Spanish, French or German.

Kalvers wrote:Or do the main developers for let's say the GIMP project just develop for all the different Linux distributions? Thanks by the way

Basically, yes. It's not my place to answer for the developers, but here goes my understanding of it.

Almost all applications and components of the operating system are developer by their respective developers. Though specific applications are developed by the Linux Mint team themselves (which is being done in the open, see a full list here: https://github.com/linuxmint).

Linux Mint, being a Linux distribution, picks the version of each piece of software they want to include for their users. They compile the software and offer the software packages (and source) for download on a central repository, and offer a "live session" CD or DVD image from which you can either test the Linux distribution or install it to your computer. Wikipedia can probably explain this better: https://en.wikipedia.org/wiki/Linux_distribution

As AlbertP shared, Linux Mint doesn't start from scratch on this. It comes in a main edition which is based on Ubuntu, and in a debian edition, which is based on (now act surprised ) Debian. So the Ubuntu and Debian Linux distributions are taken as a start by the development team (which means the majority of the software packages are already compiled and available in a repository). The Linux Mint development team generally adds software packages to the selection, or changes versions of selected software packages, to offer a better user experience.

So the Linux Mint team is writing part of the software of Linux Mint themselves, partly they are modifying software as developed by others (usually to fix problems with it in the Linux Mint distribution), and partly they are using the base provided by either Ubuntu or Debian. Finally, there is a testing team to do the actual testing of new releases of Linux Mint.

Not when quad- and hex-core CPUs and TB disk drives are so cheap and common.

Also, modern VCSs (Version Control Systems), autoconf and "make" are designed so that you don't need to recompile a whole project every time a few files are updated.

Or do the main developers for let's say the GIMP project just develop for all the different Linux distributions?

No. Distributions package the software in the manner which suits them.

The LSB (Linux Standards Base) and FSH (FileSystem Hierarchy) are standards which everyone tries to adhere to which makes packaging easier. Same with packaging SOPs (Standard Operating Procedures) that Debian is pretty strict at maintaining.

When there are conflicts, the packagers and developers must (and usually do) use email and irc to come to some agreement regarding any problems.

So, not to belittle their efforts in any way, but the Mint devs mostly mod and patch Debian and moldit into what we know as Linux Mint. Considering the vast amount of software that is contained in"Community created Packages", like GNU Compiler Collection (GCC), KDE, Gnome, latex, Firefox, Apache, PostgreSQL thework done on Mint is rather superficial, like a big, intuitively designed control panel.Even Cinnamon, a project by the Mint developers, is a fork of someone elses work.

Don't get me wrong this forking and integrating other people's ideas into new solutions is at the heart of Open Source softwareand it is good! If everybody started from scratch, what sense would that make?

So, to pick up your example, the GIMP people develop their software for all the linux distributions out there by publishing thesource code. The Debian people take the source code, compile it for different architectures, test if it works with the other software conained in debian and then put it on e.g. packages.debian.org for everybody.(Simplified, read about debian on their page, also about the stable/testing/unstable distributions, package maintainers and quality assurance processes)From there all the Debian based distributions copy the packages and add their own packages and patches.There are also distributions that are not Debian based, like Gentoo, Arch, Suse, Red Hat etc.They take the work of bundling and maintaining packages to be downloaded by apt/rpm/emerge upon themselves and offer their own selection of software.

This should give you a rough overview of how Linux distributions in general come to be. I don't know squat about the structures inside the Mint dev team and probably already assumed too much already, so I am gonna shut up now.

There aren't closed source or proprietary packages in Ubuntu by default.

krxl wrote:Ubuntu + Patches from Mint devs = Linux Mint

There aren't much patches. Most of Mint's work is uninstalling Ubuntu packages and providing Mint packages. Also Mint has (in most editions) video/audio codecs which are not as free and open-source as Ubuntu. Those codecs are mainly the reason why Mint was founded back in 2006.

Registered Linux User #528502Feel free to correct me if I'm trying to write in Spanish, French or German.