GNU is actually a totalitarian regime

You probably remember that I’m not one to fall in line with the Free Software Foundation — a different story goes for the FSFe which I support and I look forward for the moment when I can come back as a supporter; for the moment I’m afraid that I have to contribute only as a developer.

Well, it seems like more people are joining in the club. After Werner complained about the handling of GNU copyright assignments – not much after my covering of Gentoo’s assignments which should probably make those suggesting a GNUish approach to said copyright assignment think a lot – Nikos of GnuTLS decided to split off the GNU project.

Why did Nikos decide this? Well, it seems like the problem is that both Werner and Nikos are tired of the secrecy in the GNU project and even more of the inability to discuss, even in a private setting, some topics because they are deemed taboo by the FSF, in the person of Richard Stallman.

So, Nikos decided to move the lists, source code and website on its own hosting, and then declared GnuTLS no longer part of the GNU project. Do you think that this would have put the FSF in a “what are we doing wrong?” mood? Hah, naïve are you! Indeed the response from the FSF (in the person of Richard Stallman, see a pattern?) was to tell Nikos (who wrote, contributed to GNU, and maintained the project) that he can’t take his own project and take it out of GNU, and that if he wants he can resign from the maintainer’s post.

Well, now it seems like we might end up with a “libreTLS” package, as Nikos is open to renaming the project… it’s going to be quite a bit of a problem I’d say, if anything because I want to track Nikos’s development more than GNU’s, and thus I would hope for the “reverse fork” from the GNU project to just die off. Considering I also had to sign the assignment paperwork (and in the time that said paperwork was being handled, I lost time/motivation for the contributions I had in mind, lovely isn’t it?).

Well, what this makes very clear to me is that I still don’t like the way the GNU project, and the FSF are managed, and that my respect for Stallman’s behaviour is, once again, zero.

Just accept it: truth Hurds

Okay the title is a very lame pun. But in this post I’d like to argument a bit more my reasons for not liking the Hurd project, at least in the way it is still being developed nowadays, which I announced on Identi.ca yesterday. This might sound quite strange coming from the guy who dedicated time and soul to Gentoo/FreeBSD.

First of all let’s put into context what Hurd is nowadays: it is not something viable, or usable. Twenty (20!) years after its original inception, Hurd is still nothing that you’d think of using on your desktop, or your server — nor should you, I guess. The class of operating system this belongs to is the same as Gentoo/FreeBSD, Debian’s GNU/kFreeBSD , Haiku, Plan9 and so on, a toy project. Or if you want to make it sound less childish, a research project, but I prefer the shorter version.

But while there are so many toy projects operating systems, I’m singling out Hurd, and there two main reasons for my feeling; they can be considered mostly personal, non-technical opinion, but I’ll stand by them.

First of all, most other toy systems have given us steady improvements in different areas; take Plan9 for instance: ten years older than Hurd, but recently Linux gained access to paravirtualized filesystems, based on what? On the Plan9 protocols. Good research going — even though it does seem tremendously silly when you look into it for the first time. And even though I was sceptic the first time I looked into it, GNU/kFreeBSD has probably made glibc a bit more … malleable.

But most importantly is that the whole Hurd project at the moment does not have any real technical reason to exist, it only has one huge symbolic value for the GNU project, beginning with the idea that “Linux is not the Free operating system”.. which I could accept if it wasn’t coming from the project sponsored by FSF. The same FSF that insists that you should not use any proprietary operating system, that you should only and always use Free software and so on so forth.

Is Hurd the example of Free Software people should use? Do they insist on their argument even when it is totally, technically, unsound? I’m afraid some of the people in the FSF do. Luckily, FSF is not just those, and there are numbers of reasonable, hard-working and capable people. Which is why even I have signed copyright assignments to FSF with a bit of rant attached), and why I try to contribute to GnuPG when I can (given I use it).

Once again, though, what’s the problem if a bunch of elitist developers feel like working on a toy system? It really isn’t something new; heck Plan9 is, as far as I can tell, mostly developed for that. With a few difference: most of the people I saw involved with Plan9 are also involved in the suckless projects (and I rarely, if at all, agree with the premises of such projects), and they definitely are not very interested in making more users for any software at all, so their approach is well suited to their goals, not so for the GNU people, but oh well.

The problem I have, with actually any toy project, is with the people who keep insisting to find philosophical reasons to show others why their project is really, very, so much important. It happens (awfully often on Identi.ca) with both Plan9 but, more often lately, with Hurd. And when I do show my disagreement, I usually end up flooded with defences of said projects (“they don’t bother you”, “everybody should keep using what they prefer”, … sure of course — then why can’t I voice my personal opinion?).

This brings me with categorizing most of the people involved in toy project (or actually, any project — with mainstream projects it is a bit more shady to go from one category to the other) in three categories: the silent doers, the vocal doers, and the advocates.

For the silent doers, those who know they are working on a toy project and have no expectancy for people to consider it “important for the greater good”, I have fondness: you go with it and try to get something good out of it — I have done something like that with G/FreeBSD: Gentoo has had libarchive (bsdtar) from way before it went mainstream as a dependency of GNOME and KDE.

I’m a bit more polemic with the vocal doers: sure, you’re entitled to advertise your choice, no way I’m going to argue against it; but I’ll also not refrain from stating my disagreement. That shouldn’t be a problem, no? And I’m sorry, but I’m also not going to generally be convinced by your reasons to keep developing. It’s not a lack of respect, and I’m sorry if you feel this way, but… I don’t really care. If you want to show me something, show me technical reason why your work could be important to me, or to others, but technical.

But please, spare me the advocates. They talk just too much (after a passing reference to Hurd I get three, continued messages, trying to argue for it? I’m going to be a bit disappointed — I reply and I get another three? I’m seriously cranky), and of the wrong arguments. I really don’t care about the philosophy of a subproject. I subscribe to the basic philosophy of Free and Open Source Software, and I maintain that it can be technically superior if the project accepts that proprietary software can (and usually enough does) have better technical aspects. Survival of the fittest, for me, is happening only in technical terms.

Clear enough now?

Welcome to last century

This is going to be a rant; a particular rant directed toward Free Software Foundation. If you’re one of those self-defined advocates who pretend that Stallman’s smell is worth to be made an eau-de-toilette, then you won’t like my post; I won’t care and I won’t care about your comments. So you’re warned.

I have said before that I have decided to accept Werner’s offer of helping him out with GnuPG by signing the FSF copyright assignment forms — even though their value in Europe is dubious at least. I’m not going to complain about the copyright assignment idea itself; I’m definitely not a lawyer, I barely can deal with the paperwork I deal with on my daily job.

I started having doubts about the whole handling of the copyright assignment to FSF when I was given the first templates by Werner: a text file to mail, including ASCII-reduced name and a home address. I have said many times that in the 21st century, still requiring people around the globe to provide ASCII-reduced names only is at a minimum silly. We’re in a world that is using a number of languages and scripts; and while I agree we should provide a more or less common way to pronounce our names, requiring people to limit their name to ASCII, especially in official contexts. But so it is.

Turns out that the reason why they ask for your home address is not simply to write it down properly in the database, but because they send you snail mail forms to sign and send back. Okay now that starts to feel strange because I have signed quite a few work contracts before, and but for one of them, I both received and sent them as PDF forms. I also signed (a long time ago) a SCA form for the OpenJDK project to Sun; even in that case, emailed scanned documents were just enough.

While strange I expected to follow the usual process: I’d receive two copies of each form, pre-signed by the FSF representative, I’d keep one copy of each and send back the other with my signature on them. Today I received the envelope; there was only one copy of the forms; my name was misspelt (even though I used the ASCII-limited spelling, they dropped the accent!); the forms weren’t pre-signed, just a print out of something that they could most likely have sent me over as PDF, in a much more environmental-friendly way. And one more respectful of the developers who actually ask to have their copyright assigned to the FSF.

Why do I say that? Well, first of all, because the assignment forms make me declare I’m signing off the copyright for “$1 or equivalent goods”… I guess they are referring to the FSF sticker they sent over with the envelope — together with an advertisement for the FSF membership. Okay so this is likely because signing away the rights for nothing is not going to stand up quite well in court, and a sticker is as good as anything when “nothing” is the unusable default. Why should this make me upset?

Well, to begin with, because sending back the signed form is going to cost me more than the nominal $1. But it’s not just that; the paper upon which the forms are printed is a quite high-quality paper. Not just higher than the usual copier paper I use for my own consumption, but also quite higher than what most of the official communications I receive here in Italy. Why using such paper at all?

To be honest, Donnie provided a possible reason: it’s a legal paper so it should be as durable as possible; high-quality paper tends to endure time much better than standard copier paper. On the other hand, if that was the idea, then I guess they should also replace their printer — if they can do that, given that most likely any printer that they could buy has a closed-source firmware on it and they can’t use it. That’s because the two printed forms were put one over the other and then mailed; with the result that part of the text of the topmost was transferred to the one under it. They are still both legible, but gives a hard shake to the “preservation” theory.

Really, even if they need the original signature, why they couldn’t give me a PDF, so I could simply send it to them in two copies, and then they’d send me the counter-signed form with the sticker? Wouldn’t that save us one whole snail-mail trip, a lot of time, and also a bit of paper?

Free Software Integralism — Helping or causing trouble?

So today we have two main news that seem to interest the Free Software advocates and, to some lesser extent, developers:

  • Apple officially decided to shun Java as well as Flash for their own operating system, discontinuing the development of their own JRE for one, and declaring that the latter won’t be available as part of the base operating system install in the next release (10.7 Lion);
  • the Free Software Foundation published the criteria under which hardware can be endorsed by the FSF itself.

I’ll start with the second point, first pointing directly to the post by Wouter Verhelst of Debian fame; as he points out, basically the FSF is asking for hardware manufacturer to forget that, up to now, Linux is really a niche market, and push only their way. “My way or the highway”.

Now this could make sense for the ideas embedded into the FSF, although it definitely shows a lack of marketing (I’ll wait and see if there will be any serious hardware manufacturer going to take this way, I bet… none). What should really upset users and developers alike is the reason why that is “[other badges] would give an appearance of legitimacy to those products” … what? Are you now arguing that not only proprietary software is not legitimate at all? Well, let’s give a bit of thought on the meaning of the word from Wiktionary:

  1. In accordance with the law or established legal forms and requirements; lawful.
  2. Conforming to known principles, or established or accepted rules or standards; valid.
  3. Authentic, real, genuine.

If you can’t call that integralism, then I don’t even think I can argue with you on anything.

Now on the other issue, Apple has decided that neither Flash or Java suit their need; in particular they are working on a “Mac App Store” that is designed, obviously, to put the spotlight (sorry for the pun) on the applications they find more complacent for their requirements. Is that such a bad thing? I’m pretty sure that Free Software Foundation is doing the same by trying to strive for “100% Free GNU/Linux distributions”. We’re talking of different requirements for acceptance, does one side have to be totally wrong, unethical, unlawful, rapist and homicidal at all? (Yes, I’m forcefully exaggerating here, bear with me).

What I find very upsetting is that instead of simply putting light on the fact that the requirements of the Mac App Store might not be in the best interest of users but in those of Apple, Free Software Advocates seem to be siding with Adobe and Oracle… wha? Are we talking of the same Adobe whose Flash software we all so much despise, the same Oracle who’s blamed for killing OpenSolaris?

But it seems that somehow Apple is a bigger problem than Adobe and Oracle; why’s that? Well, because somehow they are eating in the numbers that, if better handled at many levels, starting from the FSF itself, would have been there for Linux (GNU or not, at this point): the hacky geeks, the tech-savvy average person who’s tired of Windows; the low-budget small office who doesn’t want to spend half their money on Windows licenses…

In-fighting, religious fights for “purity”, elitism, all these things have put Linux and FLOSS in a very bad light for many people. And rather than trying to solve that, we’re blaming the one actor that at the time looked much less palatable, and became instead the most common choice: Apple.

On the other hand, I’d like to point out that when properly managed, Free Software can become much better than proprietaryware: Amarok (of 1.4 apex) took iTunes full on and become something better – although right now it feels like iTunes caught up and hadn’t been cleared up just yet.

Why do FLOSS advocates like Adobe so much?

I’m not sure how this happens, but I see more and more often FLOSS advocates that support Adobe, and in particular Flash, in almost any context out there, mostly because they are now appearing a lot like an underdog, with Microsoft and Apple picking on them. Rather than liking the idea of cornering Flash as a proprietary software product out of the market, they seem to acclaim any time Adobe gets a little more advantage over the competition, and cry foul when someone else tries to ditch them:

  • Microsoft released Silverlight; which is evil – probably because it’s produced by Microsoft, or in alternative because it uses .NET that is produced by Microsoft – we have a Free as in Speech implementation of it in Novell’s Moonlight; but FLOSS advocates ditch on that: it’s still evil, because there are patents in .NET and C#; please note that the only implementation I know of Flash in the FLOSS world is Gnash which is not exactly up-to-speed with the kind of Flash applets you find in the wild;
  • Apple’s iPhone and iPad (or rather, all the Apple devices based on iPhone OS iOS) don’t support Flash, and Apple pushes content publishers to move to “modern alternatives” starting from the <video> tag; rather than, for once, agreeing with Apple and supporting that idea, FLOSS advocates decide to start name-calling them because they lack support for an ubiquitous technology such as Flash — the fact that Apple’s <video> tag suggestions were tied to the use of H.264 shouldn’t have made any difference at all, since Flash does not support Theora, so with the exclusion of the recently released WebM in the latest 10.1 version of the Flash Player, there wouldn’t be any support for “Free formats”;
  • Adobe stirs up a lot of news declaring support for Android; Google announces Android 2.2 Froyo, supporting Flash; rather than declaring Google an enemy of Free Software for helping Adobe spread their invasive and proprietary technology, FLOSS advocates start issuing “take that” comments toward iPhone users as “their phone can see Flash content”;
  • Mozilla refuses to provide any way at all to view H.264 files directly in their browser, leaving users unable to watch Youtube without Flash unless they do a ton of hacky tricks to convert the content into Ogg/Theora files; FLOSS advocates keep on supporting them because they haven’t compromised;

What is up here? Why should people consider Adobe a good friend of Free Software at all? Maybe because they control formats that are usually considered “free enough”: PostScript, TIFF (yes they do), PDF… or because some of the basic free fonts that TeX implementations and the original X11 used come from them. But all of this doesn’t really sound relevant to me: they don’t provide a Free Software PDF implementation, rather they have their own PDF reader, while the Free implementations often have to run fast towards, with mixed results, to keep opening new PDF files. As much as Mike explains the complexity of it all, the Linux Flash player is far from being a nice piece of software, and their recent abandon of the x86-64 version of the player makes it even more sour.

I’m afraid that the only explanation I can give to this phenomenon is that most “FLOSS advocates” line themselves straight with, and only with, the Free Software Foundation. And the FSF seem to have a very personal war against Microsoft and Apple; probably because the two of them actually show that in many areas Free Software is still lagging behind (and if you don’t agree with this statement, please have a reality check and come back again — and this is not to say that Free Software is not good in many areas, or that it cannot improve to become the best), which goes against their “faith”. Adobe on the other hand, while not really helping Free Software out (sorry but Flash Player and Adobe Reader are not enough to say that they “support” Linux; and don’t try to sell me that they are not porting Creative Suite to Linux just so people would use better Free alternatives).

Why do I feel like taking a shot at FSF here? Well, I have already repeated multiple times that I love the PDFreaders.org site from the FSFe; as far as I can see, FSF only seem to link to it in one lost and forgotten page, just below a note about CoreBoot … doesn’t make it any prominent. Also, I couldn’t find any open letter that blame PDF for being a Patent-risky format, which instead is present in the PDFreaders site:

While Adobe Systems grants a royalty-free use of any patents to the PDF format, in any application that adheres to the PDF specifications, other companies do hold patents that may limit the openness of the standard if enforced.

As you can see, the first part of the sentence admits that there are patents over the PDF format, but royalty-free use is granted… from Adobe at least, but nothing from eventual other parties that might have them.

At any rate, I feel like there is a huge double-standard issue here: anything that comes out of Microsoft or Apple, even with Free Software licenses or patent pledges is evil; but proprietary software and technologies from Adobe are fine. It’s silly, don’t you think so?

And for those who still would like to complain about websites requiring Silverlight to watch content, I’d like to propose a different solution to ask for: don’t ask for them to provide it with Flash, but rather with a standard protocol, for which we have a number of Free Software implementations, as well as being supported on the mainstream operating systems for both Desktops and mobile phones: RTSP is such a protocol.

Religiosity and Free Software

This is a post which for many might sound inflammatory. I wish to warn anybody interested in commenting on this post that I’ll be deleting comments if they show you only read two paragraphs out of it and ignored the whole rest of it, I’ll also be deleting comments of people who just take on judging my qualities on the pure fact that I’m atheist. This is both to preserve my health and to avoid making the commenters look like idiots.

I am an atheist. I’m proud of it. I am lucky to be one. Most people aren’t as lucky as me, to be able to both accept that our life on earth is not part of a plan of an higher-level being, and at the same time not look for comfort in religious organisations and similar institutions.

I’m not the kind of atheist who can’t accept people have different views of the world; I’m neither going to judge the capacity and skills of other people based on their religious beliefs; I am, though, the kind of atheist that preaches for atheism. I don’t intend to force anybody to be an atheist, but I find it important to show why we should be atheists.

Religion (at least in its most common form) is a threat to the development of society: “it’s because God does it” or “that’s the will of God” used to block advances in many science, and some people still try to do so. It’s not a simple matter of researching fields with the use of experiments that might be “controversial”; abuses on animals and humans alike are matters of importance for ethics, even when religion is not in the mix. What I find obnoxious is how still people believe that science shouldn’t go to investigate on some matters simply because some book (if it’s a book at all) stated “This is the only truth”.

On this matter, a couple of years ago I became interesting on a book, The Universe in a Single Atom written by the current Dalai Lama, that seek to go into the matter of giving up on religious dogmas when they are proven false by science. Unfortunately the Italian translation left lots to desire: the translator is a philosopher, which is good in the sense that he knows how to translate the religious and philosophic thoughts in the book, but it’s a book that speaks of science as well, and getting the terms wrong there dilutes the meaningfulness of the book. I was really appalled when they actually provided the wrong meaning to the fMRI term. I could understand those mistake though, what I couldn’t understand is the translator adding notes regarding common American culture knowledge, such as a note on the Larry King show, or the political landscape of USA in the first half of the 20th century.

Anyway back on track on Free Software; ethics, to an extent, applies to software development as well. Having draconian terms in licenses, or DRM in content, can be accepted as bad things from both the users and developers of Free Software and those of Proprietary Software. Of course the Free software people will find them even more draconian by the fact they are usually kept out of the loop even if they were to accept them (Adobe, where the heck is Digital Editions for Linux, for instance?).

So for sure the Free Software movement is based on ethics: software should be free, there should be no DRM, and people deserves the Freedom 0: “The freedom to run the program, for any purpose”. It would be all fine, if it wasn’t that the FSF (with Stallman first) decided to cross the dividing line between ethics and religion by mandating and blaming.

I think most of the problem is already well covered by Jürgen’s blog on the matter, that he posted yesterday, after I wrote mine, but before I could actually post it. Also, as Matija pointed out in the comments, while the original FSF has this obsession with blaming, with “purity” and “evilness”, FSFe is generally better and tries to approach the problem from the positive point of view: Our software is better.

I’m still not sure what the problem is with FSF and those (rare, hopefully) blind supporters who can go as far as attacking a Free Software developer for expressing his technical opinion on the quality of a language – and not even of any particular software implementation, mind you – just because the original idea came from an “evil source”. I guess a lot of the problem has to do with a cultural difference between USA and Europe, but I’m not the kind of sociologist who can understand why that is the case. The same kind of negative approach seem to transpire in electoral campaigns, and other events in the social life of the American people, so maybe it’s not something we can blame them for.

Now, it is true that other groups of “supporters” seem to have religious nature, such as many “Apple fanboys”, and this actually seems to aggravate the problem further: it rationalise the lumping together in that category of anybody who gives a positive technical opinion about Apple’s software, hardware or strategies. The same goes for Microsoft.

What are the religious aspects that hinder Free Software development? There are a number of taboos, some of which have reasons to exist, most that seem to be just there to nip in the bud the “chance of rebellion”. In this optics, you can compare Eric S. Raymond with Martin Luther (the 16th century rebel, mind you), the fact that he’s a religious figure as well is no coincidence.

Some of the taboos in this are:

  • you’re frown upon if you even use proprietary software for day to day activities, and even worse for actual development; operating systems, editors, compilers… of course it doesn’t take into considerations that at some point you have to use something proprietary before you can replace it, nor the fact that you have to learn what the other proprietary (and free as well) software is doing to find out what you can do better, and what you already do best;
  • you’re shunned if you praise the technical qualities of non-free software: it might be a feature that is implemented better in a proprietary software, it might be a better result achieved by a language whose only implementation is proprietary, or whatever else; the bigots will look bad at you if you even admit that Free Software might not be perfect;
  • you’re outright attacked if you concede that the best tool for a job is proprietary, at any given point; it might be software or format, but even here, you cannot concede the point unless you want to irate the zealots; you’re also eyed badly if you work on software that has to deal with these formats, especially if they are covered by patents; while the patent issue is very real, and very bad, if you don’t concede to their existence as they are now, you’re basically screwed;
  • you’re straight out accused of heresy if you work even partly on proprietary software, or if you develop Free Software with technologies that are frown upon. This is mostly what Miguel is attacked for, and what I also get flak about from time to time.

Now instead, my view is that you have to drop the religious taboos, and pay attention to the ethics instead:

  • Prefer free tools even though they are not perfect, but admit if that’s the case! I’m fine with using F-Spot, but if I were to say iPhoto wasn’t better I would be deluding myself.
  • Use the right format for the job, if it has to be shared with others, make sure you use the best format. It doesn’t matter if the format is not entirely free, but you’ll just be laughed at, and won’t make any good to Free Software, if you stubbornly insist that the free format is “better because it’s free”. For audio, Vorbis is acceptable, but Ogg is a PITA; for video, Theora is no competition to H.264 (VP8, to some extent, is), for documents, don’t pretend ODT solves all problems, use PDF instead.
  • Let people live their life with the tools they want, even when they are proprietary, but keep them on their toes! If your friends start asking for cracks and hacks to be able to use illicit copies of software refuse to help them, instead point them out to (acceptable) Free alternatives. I’ll keep repeating it but the Free PDF Readers site from FSFe is one of the best action I ever seen for what concerns Free Software!
  • Finally, do your best to create new, better Free Software to cover what is not covered yet. This is the most important one. Just talking about how you’re holier than others because you use only Free Software does not make you better, at all. Do your best to improve Free Software, for its users and, if that’s what gets you going, for “saving humanity”.

Free Software is not only GNU

I don’t try to hide the fact that I think that FSF’s continuous stress over “GNU/Linux” is a huge ego stroke toward GNU that tries to deny that there is other Free Software beside GNU. But even considering this I don’t usually take stance against GNU for the sake of it. I disagree with some of the ways of Free Software Foundation (the original one), and I have said that I like Free Software Foundation Europe better (because they take positive approaches toward Free Software rather than negative approaches toward proprietary software), yet I don’t think this should deem me a bad person for what concerns Free Software.

And those who could still doubt of my caring for Free Software against proprietary software can take a look at my Ohloh page — keeping in mind that Ohloh only tracks assigned commits, and thus does not count most of the patches sent around the world of Free Software, where DVCS are not used, and thus are committed without my direct attribution. You thus only have my own word that there are many of those, as well.

With this on the table, would you still believe that I’ve been slandered before to be an anti-Free Software activist? Would you believe that when I criticised the quality of GNU’s code somebody went out of their way to say that my approach is “mining it [GNU’s code] to improve your work” (because wanting to use fold’s code and then release an utility based on it as GPL-3 is not giving back, it seems, unless I sell my soul and blood over to FSF, maybe?).

I know I’m getting boring with quoting Bill Maher, and re-using his own criticism strategies in my blog posts. And I also already used this line but never on this blog so I’ll use it again:

We’ve got to worship principles, not people.

With this I mean that even if I agree with the idea behind FSF and the GNU Project, I don’t have to see either Richard Stallman or Linus Torvalds as my personal God, nor I would have to accept the GNU project as the owner of all good software in this world. There is more to that. The same principles apply to other situations, even situations where GNU is laughed at, even situations where GNU’s code is laughed at but their license is used. Because what makes me dislike some of the GNU project’s applications and in general the FSF (America) approach, is not the license, otherwise I wouldn’t be using it extensively for my own projects, both personal and work-related.

When I criticise the over-engineering status of an utility such as fold, I’m not attacking either the idea of Free Software nor the GPL license. I’m just stating that the fold.c code is utterly a piece of crap, as it jumps through a ton of hoops, and is unreadable and impossible to re-use, to do something as simple as what fold is supposed to.

When I say that the groff code is a real mess, it’s because the code itself is messed up if you try to follow it; when I further add that requiring C++ (but not the STL) to do something as simple a what groff does is like shooting oneself on a foot, I’m not saying that Free Software sucks and proprietary software is always better. I’m just trying to find a better Free Software alternative. And I’m not entirely sure Heirloom’s doctools are the way to go, by the way.

When I find FSF’s negative approach excessively bad then I’m criticising their way to support Free Software, not detracting on Free Software altogether. Although I start to think this is simply the American way of getting your points through: you don’t show your best side, you try to point people at the others’ bad sides; another thing that I should probably learn from Bill Maher, when he talked about the way Political elections and Oscar nominations go in USA.

But this does not obviously cover all of GNU’s code… although I guess it does cover a lot of that; the fact that GNU project is now comprised of loosely connected smaller packages doesn’t make it much better. You have projects that are doing very connected work that keep separated (autoconf and automake), others that are developed behind closed doors without a public repository of any kind, and totally different code styles or development practises every two projects.

So GNU’s not perfect; what’s your solution? Keeping your eyes shut and screaming “GNU’s perfect”? I still prefer mine: saying that GNU’s not perfect, when it’s not, and either improve it or make something better. With the best tools available; with the best knowledge available; with the best license available (which, most of the time, will be the GNU General Public License, of some sort, but doesn’t mandate that).

I do support FSFE… it’s positive!

A Free Coffee

I have, before, written about my concerns regarding the way the Free Software Foundation is working nowadays, and the fact that I feel RMS is taking too seriously his role as a “semi-religious” figure (and the whole “Church of Emacs” business). On the other hand, I’m happy to be a supporter of Free Software Foundation Europe. I do find the two taking pretty different stances on a lot of things.

Before leaving for FOSDEM, I read (and re-dented) Lydia’s link to a post by Joe Brockmeier (of OpenSUSE fame — of course there will be a vocal minority that will find his involvement with OpenSUSE, and thus Novell, as a bad sign to begin with, I feel happy that I’m not that closed minded) that summarised quite well my feeling with the way Free Software Foundation is behaving nowadays. Let me quote Joe:

Update (2017-04-21): Joe’s article is gone from the net and I can’t even find it on the Wayback Machine. Luckily I quoted it here!

It isn’t that the folks at the Free Software Foundation are wrong that DRM is bad for users, it’s that they are taking an entirely negative and counter-productive approach to the problem. Their approach to “marketing” may resonate with some in the FLOSS community, but their efforts are not at all likely to win hearts and minds of users who don’t get out of bed in the morning singing the Free Software Song.

While Defective By Design highlights legitimate problems with the iPad (and other products) where are the alternatives? Stop telling people what they shouldn’t buy, and make it easier for them to get hands on some kit that lets them do what they want to do with free software. In other words, stop groaning about Apple and deliver a DRM [I guess he meant DRM-free here — Flameeyes] device of your own, already.

And I agree with him wholeheartedly (of course as long as my note above is right): we should propose alternatives, and they need to be valid alternatives. When I say that I use an iPod because it has 80GB of storage space on it (well, my current, old version has 80GB, newer versions have 160GB of course), people suggest me as an alternative to not carry around so much music. Well, I do want to carry around that much music! If you can get me a player with an equivalent disk space and featureset I’d be grateful to get rid of Apple’s lock-ins… while that’s not available, I don’t really care about reducing my music library, as long as I can use it with Rhythmbox and other Free Software tools.

On the other hand, I cannot praise enough one in particular of the FSFE projects: PDFreaders.org website. Instead of telling the users how bad Adobe is, the site provides them with valid alternatives, specific to their operating system! This includes even the two biggest proprietary operating systems, Windows and Mac OS X. Through this website I actually was able to get more people used to Free Software, as they are glad to use something that is, in many ways, better than Adobe’s own Reader.

As I keep repeating, to bring Free Software to the masses, we need to be able to reach and improve over the quality of proprietary software. We are able to do that, we did so before, and we keep doing so in many areas (it’s definitely not a random chance that FFmpeg is one of the most widely used Free Software projects, sometimes even unbeknownst by its users, on the most varied platforms). When we settle for anything less, we’re going to lose. When we say that something is better and everybody should use that just because it’s Free, then we’re deluding ourselves.

I’m not sure what will happen with OpenOffice now that Oracle ate Sun as a snack, but if this will bring enough change in the project, it might actually make it really go mainstream. Right now, myself, I feel it has so many holes that it’s not even funny… on the other hand, as I wrote, it has some very important strong points, including the graphing capabilities (not charting!), and of course, the fact that it is Free Software.

Looking for a license

I’m writing this blog post in hope that somebody who’s more experienced than me in open source licensing can suggest me whether such a license exists already, or if a simple well-known exception to GPL would work, or finally if it’s the case that this was submitted to FSF for an eventual future GPL version.

The licensing terms I’m looking for are focused mostly on embedded systems; I just want a license that works exactly like GPL with the exception of leaving it possible to use the code, statically linked in a single binary image, on systems where you really don’t have a final OS, without “infecting” the rest of the system with GPL requirements. It might sound bad to you but there is really nothing more than a special calling interface between the kernel, the runtime linker and the glue code from the compiler that makes a program what it is.

So if instead of having a main() function that gets called, you got a softunit_main() which is called by an otherwise isolated system, and instead of multiple files you got just different addresses in memory, it makes sense to be able to still use it like it was its own software, working at an arm’s length.

This is usually considered area for LGPL, but I’d sincerely like something in the middle between the strict GPL and the lax LGPL. I guess a GPL exception would work out quite fine, but I’m not sincerely sure about it so I’d like to ask for comments.

Thanks in advance!

What if GPL software couldn’t make use of OpenGL?

As we all know, what keeps Free Software alive is respecting the licenses: if people didn’t respect the GPL, Free Software wouldn’t have any appeal for most amateurs who wouldn’t want their code stolen.

This also means that Free Software needs to respect licenses, even when the user can’t make use of features he’d very much like.

Now, let’s make an hypothesis that GPL software can’t make use of OpenGL, that’s a very bad view you’ll have: no more games, no more accelerated Xorg, no more compiz or things like those. At least they wouldn’t be redistributable in binary form, and the legality of the code would be probably put in doubt by many.

But is it just an hypothesis? I’m afraid it might not be that unlikely now.

Most of the code using OpenGL requires headers, usually shipped with mesa (previously with XFree itself), like glext.h, which are distributed under SGI Free Software License B (see the text), which for FSF is not a Free Software license at all. The same view is shared by Debian, as you can see on their bug #211765.

While Debian is mostly ignoring the issue for now, the problem is there, and the new Xorg setup, with the packages split, didn’t fix the problem. It’s probably a big issue, it’s strange that it’s not so well known.

Of course, if I recall correctly, even nVidia and ATi/AMD drivers install some OpenGL headers, so the problem is even more complex than that. I wonder why there isn’t a fully free set of headers available for use yet.

Unfortunately, I found this out while reviewing xine-lib’s licenses, as there is a copy of glext.h that is shipped for the OpenGL output plugin to build correctly; this will soon be removed from both 1.1 and 1.2 series, probably, so that at least the sources in the repository are a bit cleaner. But the problem here is that I need to follow this issue deeply, as xine-lib is vulnerable to this possible license violation, and it’s not a good thing.

And for who’s wondering about the status of the rest of xine-lib code, well, we have some problems we need to fix, thankfully the only thing that seems difficult to fix is nosefart code, but that I’ll write more about tomorrow, the rest will probably be cleaned up in the next weeks after all the original authors are contacted, and some code is synced from MPlayer.

Thanks a lot to Vir who gave me the sparkle to check the licensing of xine-lib to make sure we are compatible with GPL-3 (that might going to be used for libcdio/libvcd, and is used now by Samba). I wouldn’t have looked so deeply if he didn’t.