You are not logged in.

#1 2019-02-07 20:09:08

THX1138
Member
Registered: 2019-01-14
Posts: 191

Curious about distro development

I wondered if someone who is a developer or who knows about development could tell me the answer to a couple of questions I've always had but have got more curious about lately. Bear in mind I'm not a programmer and barely even know anything about the process of distro development. So they are fairly general questions

Does the term "Development" mean different things to different distributions? For example it probably means something different to Debian than it means to Bunsenlabs. Maybe it even means something different to Bunsenlabs than it means to some-other-small-ish Linux distro. Or does it mean one thing to all distro's.

Another question is - imagine you include in your distro a program that a fair few users, not all, have experienced problems with. Say something like "Nitrogen background setter", which I believe is about 500 lines long. Do the developers of the distro try to alter the code in Nitrogen and then include the altered Nitrogen in the next release, or do they try to alter other things to make nitrogen work. I dont quite understand how developers solve problems like that.


The telephone is an antiquity - you never know who is calling, there is no image, it is an outmoded product which constantly disrupts work (Ralf Hutter (Kraftwerk)) ps: my wife knows how much I dislike being disrupted at Work - Ralf Hutter hit the nail on the head there

Offline

#2 2019-02-07 20:41:51

Bearded_Blunder
Dodging A Bullet
From: Seat: seat0; vc7
Registered: 2015-09-29
Posts: 730

Re: Curious about distro development

I'm not a dev, but from observation:
It'll vary by Distro, depending how many devs, what their skills are, & which approach they prefer:
Could vary from only using what the base distro offers & some config & theming or that plus including software not in the base distro at all.. to recompiling half the world differently and changing init.
Bunsen's nearer the first end, there aren't many devs.

In the case of problematic software, they could do any of the things you mentioned, or as BL did for something else in the past, backport a newer version & ship that, or switch to something less problematic.


Blessed is he who expecteth nothing, for he shall not be disappointed...
If there's an obscure or silly way to break it, but you don't know what.. Just ask me

Offline

#3 2019-02-08 07:45:36

ohnonot
...again
Registered: 2015-09-29
Posts: 3,584
Website

Re: Curious about distro development

THX1138 wrote:

Does the term "Development" mean different things to different distributions?

Development of what? the distro?
the answer is very obviously Yes.
Beyond that it would require a lot of research from both the preson asking and the one answering, to give a better answer.

imagine you include in your distro a program that a fair few users, not all, have experienced problems with. Say something like "Nitrogen background setter", which I believe is about 500 lines long. Do the developers of the distro try to alter the code in Nitrogen and then include the altered Nitrogen in the next release, or do they try to alter other things to make nitrogen work. I dont quite understand how developers solve problems like that.

i think what you're looking for is "upstream":
typically the best solution in a case like this would be to go to the software developers (NOT the distro maintainers) and ask them if this can be fixed. that way it is fixed for nmitrogen evrywhere, whichever distro uses it.
there are cases where the problem is distro-specific; in that case the solution needs to be distro specific too, but i believe it should be done (preferably) without altering the source code. i could be wrong about that last bit.

Offline

#4 2019-02-08 08:06:22

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 5,143
Website

Re: Curious about distro development

Re Debian: they have a strong policy of not interfering directly with the source code provided by upstream developers. The concept of "pristine tarball" refers to what upstream provides - or would provide if they distributed tarballs...

As ohnonot says, every effort is made to get bugs fixed upstream. Sometimes, though, Debian has some specific need (eg removal of non-free components) and sometimes upstream do not respond to requests to fix a bug. Maybe the package is abandoned, or maybe the upstream developer is very busy, or maybe even doesn't agree about the bug. In such cases Debian use "patches". These are stored in a debian-specific "debian" directory added to the source code, and applied to the original code when the package is built.

Everything in the "debian" directory is available for inspection on Debian's servers, and of course FOSS licenced. Apart from the above patches (if any), that directory contains packaging-related metadata like version numbers, changelogs, copyright info etc etc.


John
--------------------
( a boring Japan blog , Japan Links, idle twitterings  and GitStuff )
In case you forget, the rules.

Offline

#5 2019-02-08 18:09:35

hhh
That's it!
Registered: 2015-09-17
Posts: 7,252
Website

Re: Curious about distro development

THX1138 wrote:

Does the term "Development" mean different things to different distributions? For example it probably means something different to Debian than it means to Bunsenlabs. Maybe it even means something different to Bunsenlabs than it means to some-other-small-ish Linux distro. Or does it mean one thing to all distro's.

It means different things depending on the context.

A programmer developing an application is worried that it will work, be secure (hopefully they worry about that), have an intuitive UI (eyes narrow to slits as I look at GNOME), etc...

Debian is trying to achieve stability and security despite thousands of packages being included in the OS, across as many architectures as is possible. The logistics involved are staggering. Add to that trying to provide a stable upgrade path from release to release and providing a package-management system that can handle all of it... LTS, stable, testing, unstable, experimental, debian-live, main contrib non-free, backports, upgrade, dist-upgrade, pin, autoremove... it's why we use Debian, it's fantastic.

BL, we just don't want to break anything! Everything else is gravy.

All Praise and Glory to Debian. BL is based on Debian stable, and IMO we're one of the best LIVE ISOs currently available. Easy to install on a wide range of hardware with a small footprint in terms of dekstop RAM usage, but still a fully functional, "real" desktop, great forums... and we're getting better.

Offline

#6 2019-02-08 19:16:22

THX1138
Member
Registered: 2019-01-14
Posts: 191

Re: Curious about distro development

Hey, thanks for the informative and interesting answers. That side of Linux has always been a mystery. To me developers are like the high priests of Linux- only they know how to talk to the deities. Even things like github and bug reporting and the whole development culture is mysterious in a way. Yeah, though, I found the answers surprisingly interesting, thanks


The telephone is an antiquity - you never know who is calling, there is no image, it is an outmoded product which constantly disrupts work (Ralf Hutter (Kraftwerk)) ps: my wife knows how much I dislike being disrupted at Work - Ralf Hutter hit the nail on the head there

Offline

#7 2019-02-08 20:22:14

ohnonot
...again
Registered: 2015-09-29
Posts: 3,584
Website

Re: Curious about distro development

not sure if it was said already, but you probably need to differentiate between (software) developers and (distro) maintainers.

Offline

#8 2019-02-08 20:46:37

twoion
ほやほや
Registered: 2015-08-10
Posts: 2,368

Re: Curious about distro development

A base distro that is its own ecosystem has its own core tools. Writing tools that guarantee successful dependency resolution at install time, unbroken dependency graphs to verify a system is in good shape, tools for parallelized build farms, things like implementing a some pubpriv signing scheme, secure package downloading tools etc requires software and system engineers. They have to design and support the backbone of the distro system. Developing these tools and pushing the distro's technical direction forward is distro development. Integrating core system layers is distro development (like composing a distro with systemd needs special augmentation, different from composing Linux From Scratch system that just supports non-networked single-user mode).

Distros that make this effert are 'root' distros: Slackware, Gentoo, Arch, Debian, Fedora, OpenSuSE, NixOS, …. Some of these branched off an older root distro (Slackware → SuSE) but now have their own core tooling. Ubuntu is not a root distro. It has respins and flavours, but it uses Debian core tools and its own tools may be patched versions but are not different enough to say that Ubuntu apt is something 'new'.

Using the core tooling, you compose the actual distribution, which maps upstream software on a distro release (or release stream, if it's a rolling release). You may need to be an expert in the specific software you're packaging when it comes to things like PAM or databases, but most software is easy to package which is why at this point you can have package maintainers without too deep of an involvement in distro development. There are still package maintainers who know a lot of systems (kernel packaging and tuning, etc) but you can draw from a larger pool of volunteers here, who may leave at any time. Developing packaging methods for upstream software is not primarily distro development. It's packaging. Patching software makes it a cross between the two, but you get the idea.

Then sometimes you cross the line where people don't modify or develop their own core tooling (in Debian's case: dpkg, apt, packaging tools and so on)  but still ship new features and become their own upstream. BL does this to an extent.

So there are different processes in creating, composing and maintaining a collection of software around the Linux kernel. Tasks have differing grades of difficulties assigned and while a noob without solid software engineering skills shouldn't touch the dependency resolution algorithm in apt he can submit patches that get reviewed by experts, or can create documentation. There definitely is a hierarchy in terms of general technical skill, but all living distro ecosystems (including the BSDs) draw from a pool of people of different technical skill levels. There's enough unpaid work to do…


A silent kite against the blue, blue sky

Offline

#9 2019-02-08 21:28:26

THX1138
Member
Registered: 2019-01-14
Posts: 191

Re: Curious about distro development

twoion wrote:

A base distro that is its own ecosystem has its own core tools. Writing tools that guarantee successful dependency resolution at install time, unbroken dependency graphs to verify a system is in good shape, tools for parallelized build farms, things like implementing a some pubpriv signing scheme, secure package downloading tools etc requires software and system engineers.

wow, I just never realised... wow the thought of what you just said there its like opened my eyes to just how much analysis and planning and thought is done at that level - its like technology but on another plane

They have to design and support the backbone of the distro system. Developing these tools and pushing the distro's technical direction forward is distro development. Integrating core system layers is distro development (like composing a distro with systemd needs special augmentation, different from composing Linux From Scratch system that just supports non-networked single-user mode).

Thanks for that distincion - youve made me realise the effort that is put into maintaining and sustaining something as immense as, say, Debian

Great post, great post, wow you just said things I never even thought of but from now on whenever I think about what development is I will certainly look at the post you just made. It really opened my eyes and gave me a lot to think about. In fact I just saved your post on my computer as a text file because it says so much I want to think about it a great deal

thank you for that

Edited in later
Also your post doesnt just make me realise that great programmers and administrators freely give their time and effort but just how much they put into that time and effort

Last edited by THX1138 (2019-02-08 21:35:10)


The telephone is an antiquity - you never know who is calling, there is no image, it is an outmoded product which constantly disrupts work (Ralf Hutter (Kraftwerk)) ps: my wife knows how much I dislike being disrupted at Work - Ralf Hutter hit the nail on the head there

Offline

#10 2019-02-08 21:31:45

malm
jgmenu developer
Registered: 2016-10-13
Posts: 320
Website

Re: Curious about distro development

^^ Great write-up!

Last edited by malm (2019-02-08 22:12:16)

Offline

#11 2019-02-08 21:37:12

THX1138
Member
Registered: 2019-01-14
Posts: 191

Re: Curious about distro development

malm wrote:

^ Great write-up!

You can say that again !
That was one great post Twoion made


The telephone is an antiquity - you never know who is calling, there is no image, it is an outmoded product which constantly disrupts work (Ralf Hutter (Kraftwerk)) ps: my wife knows how much I dislike being disrupted at Work - Ralf Hutter hit the nail on the head there

Offline

Board footer

Powered by FluxBB