This article has been originally published in Italian (here). Feedbacks on content and translation are appreciated. Contributions are welcome. The original article must be considered the reference in case of updates.
Semplice Linux is a Debian Sid based distribution developed in Italy, sporting Openbox WM and a bunch of cool stuff developed by Eugenio Paolantonio, a.k.a. “eugenio_g7” (on Twitter and Google+). I reached out to him to have some basic details about his distro, before taking it for a ride. In a pretty long chat session on semplice IRC channel, Eugenio explained what Semplice Linux was, is and might be in the future, clarifying his ideas and directions for the development.
Man from Mars: Hello Eugenio, tell me about your pretty young distro “Semplice Linux”. The oldest news I could find in the forum dates back to 2011 (Semplice 2 alpha 1), the most recent is about release 7 a few months ago. Let’s start from the very beginning: what was in Semplice 1.0?
Eugenio Paolantonio: Project Semplice started in 2009 and it was, well, a 1.0 release🙂 It was not bad after all (I took great care of it!) but it mainly laid the foundations for the project. It was a more GNOME- oriented distribution, compared to other ones based on Openbox.
MfM: Did you conceive Semplice mostly as a lightweight or user-friendly distribution?
EP: The main goal is ease of use, although the included applications (together with Openbox) have mostly low resource consumption.
MfM: Semplice is based on Debian Sid (unstable), why did you choose this branch?
EP: Because testing is too mainstream!😉 Jokes apart, this choice aims to attract more skilled users. There is also a Workstation release, based on Debian Stable, if you need a “production” system.
MfM: How many people are involved in the development?
EP: At the moment I am on my own. Current Semplice (including vera), for better or for worse, is due to me. (Former team members, who left due to lack of time, still follow the development and occasionally contribute – A/N)
MfM: Tell me about vera. This collection of tools actually makes Semplice stand out compared to other derivative distributions. What is it made of?
EP: Vera is a recent addition to the development activities (2014). Before that some other tools were created, for example alan, that updates openbox menu upon specific triggers.
The goal is to make vera a full DE; at the moment it mainly works “behind the scenes”, in the near future it should play a more prominent role. Openbox and tint2 panel will eventually be replaced, since they both rely on Xlib, that is not part of the upcoming Wayland display server.
MfM: What are the peculiar tools that can be found in Semplice?
EP: First of all linstaller (the installation program), then alan2, improved version of alan, (it now caches on disk the generated menu data), that populates the openbox menu and can be easily extended by custom Python modules, such as audio player control, an RSS feed reader or system information.
Some tools allow for an easier system administration and customization: a feature manager (bricks, that adds/removes packages and meta-packages), the internationalization & Localization settings chooser (keeptalking/keeptalking2), a mixer (cymbaline) and a bunch of services that work in background to improve the user experience. Among those I’d mention channels, the cornerstone of the upcoming updaets framework (scheduled for next Semplice 8), zramcfg (that configures zram), usersd (user and groups management via DBus) and vera-power-manager (power and screen brightness settings).
Again, you’ll find quickstart, a Python library meant to ease the creation of GTK3 applications (glade integration, localization, CSS styling, etc.). Quickstart is geared towards developers rather than end users: for example, I have used it to build vera-control-center.
Many settings are already managed by the vera suite. If you change the wallpaper, the UI color will change accordingly. vera also replaces a number of hacks (autostart, xsettings, etc) usually needed in openbox based distros for some features and settings (autostart, xsettings, etc): my goal is to make vera a light DE running in Wayland. Of course there’s a lot of work to do!
MfM: Which programming languages do you use?
EP: Mainly Python and vala; I can also code in C#, somewhat in C e shell. Personally I favour Python, it’s simple, well organized and very powerful.
MfM: Is there a plan to release Semplice with additional WMs or will you just stay with Openbox?
EP: I am sticking to Openbox. When (if) the default display server will move on to Wayland, Openbox will be replaced, and vera shall become the compositor. I’d really like to see Wayland on desktop, too; I think it’s “production ready“, and it’s even in my smartphone!
In the long run I’d rather port vera on Wayland, even though it’s a demanding task. I might even stop developing Semplice before😛
MfM: How is a Semplice release created? I mean, how do you decide what will be in a new release?
EP: The development is done on the Sid based version, named “Semplice Current”, split in two channels, current and current-devel. When the development cycle starts I jot down a wishlist for the next release and begin to work on each component/feature as a proof-of-concept in current-devel. The elements that got more fixes/development will then be included for the final release. Right before the release date, I move packages from current-devel to current, create the ISO and make it publicly available.
I’d really like to have at least two “major” releases a year, although the time span is related to the amount of development work.
On the other hand, development on the Workstation version is fairly easier: matching Debian release cycle, packages from current version are migrated to a new repository using the latest Debian release toolchain, possibly required packages are backported and, after a QA assessment, the actual release is done.
MfM: The boring duties are carried out by pylaivng (a custom Python script for ISO creation – A/N).
EP: It makes even more: it controls compiling, packages archiving and internal mirrors. The code kinda works but it has been modified and extended so many times in the past that it ought to be cleaned up now. By the way, making the ISO (or an installation image) is the easiest task when developing a distribution.
From this point on you can actually tell apart an actual derivative distribution from a “remix”: a crucial step when creating a distro is to define the underlying infrastructure, that is never seen by end users. The infrastructure includes the build system as well as the software distribution system (the package manager, in GNU/Linux OSes).
Too many “distributors”, unfortunately, do not take care about this step and rely on tools such as Reconstructor or Remastersys to build the final ISO: that’s absolutely wrong. By doing so, maintainers completely neglect users just to boast of the distro release. In addition, a correctly packaged distro is much easier to maintain compared to the monstrosities made by the tools mentioned above.
MfM: What’s the difference for end users? I am one of those, not the most skilled one probably, and I am curious to understand what happens under the hood.
EP: Aside from being a dirty and “unethical” hack, “remix” distros (that’s how they should be named) are quite more prone to generate errors. Most of the distributions built upon these tools do not support release upgrades. That means, users can’t upgrade correctly the remix distro when the distro it is based on gets a new release, because the modifications of the remix are not properly packaged.
MfM: That would be like taking a distro, apply some customizations, convert it to an ISO and distribute it.
EP: 90% of this kind of distributions take Ubuntu as base, change a few things in
/etc, install a bunch of packages from random third-party PPAs, then publish ISOs, disregarding what is going to happen in the future, that is without ensuring support. Maintenance phase it the longest and hardest one in the whole software life cycle. I think everyone who releases a custom distribution should also have a plan for maintenance and support.
MfM: I agree. Many derivatives are short-lived, perhaps they’re born as hobby projects in which each release has more or less its own “story”. I suppose creators implicitly rely on support from the base distro. That’s a reason more not to change too much.
EP: What happens when that ends? Users must be able to upgrade without losing the custom configuration and should always have a clear path to upgrade without reinstalling. Major distributions have great tools for this task, and they are called “package managers”! I am not arguing about derivative distributions themselves: my point is that choosing one of them means trusting those who created it.
ISO image is just a way to distribute your work: you might even install a vanilla Debian Jessie, add Semplice repositories, install the relevant (meta)packages and you get the exact same environment you find in the the ISO downloaded from semplice-linux.org. You might even go the other way round: starting from standard Semplice, system can be completely “purged” reverting it to a vanilla Jessie installation.
MfM: In layman’s terms: Semplice truly derives from Debian.
EP: Semplice = Debian + Semplice packages. Stop. Configurations are packaged like anything else.
MfM: That looks like a lot of work to do, especially when it’s made so accurately. Would you like to have other contributors?
EP: Of course🙂 Anything about Semplice is on GitHub (link below – A/N). I look forward to pull requests and discussions on development. Contributions are welcome, too: just fork the relevant GH repository, make your modification and issue a pull request, backed by a nice rationale😀
MfM: Eugenio, thank you for such a thorough chat. I think you have made a very clear picture on the ideas Semplice development is based on. That’s fundamental both for possible contributors and end users. And, by the way, I really love the Pink Floyd themed codenames and software names!
EP:🙂 Thanks Flavio, I have enjoyed the chat as well!
MfM: Damn, you revealed my secret identity!🙂
Semplice Linux – history
On Twitter, search hashtag #semplicehistory to review the evolution of Semplice and its features from release 1 to 6.
Semplice, looking at some posts on the forums, has made its way even far from Italy. Eugenio showed he has a well-thought plan for his distribution, building a solid and manageable base of packages to assure users easy updates & upgrades.
What’s next? For sure a “test drive”of Semplice Linux 7 ‘Comfortably Numb’! And it will be less chatter and more screenshots!