Making Haiku Free Software
Kia ora koutou
I've just been reading about why the Free Software Foundation doesn't endorse Haiku. Their reasons are:
"Haiku includes some software that you're not allowed to modify. It also includes nonfree firmware blobs."
http://www.gnu.org/philosophy/common-distros.html
So firstly I'm wondering if this is still true. What software does Haiku include that can't be modified? Are there nonfree firmware blobs in Haiku? If so, what would it take to resolve these issues so that R1 could be endorsed by the FSF?
I think it would be valuable for Haiku to have the FSF as an ally. Here's why: Linus Torvalds will not live forever (unless he gets bitten by a vampire or becomes a zombie ;)
* One day, when Linus can no longer be benevolent dictator of Linux kernel development (if not before), Linux will probably split into multiple forks
* One day, rather than multiple flavours of one free code OS ("Linux") competing against the two proprietary giants, there will be multiple free code OS competing against each other
* One day Haiku will have a production release.
* One day the HURD will have a production release, and GNU/HURD operating systems will become viable.
GNU/ HURD will be aimed at servers. Haiku is aimed at personal computers, and could be useful on desktops, laptops, tablets, and handhelds ("smartphones"). If it in the FSF's interests to support this proliferation of viable free code OS, and for GNU to cross-promote with other OS which are GPL-compatible.
I have seen it written that Haiku is under the "MIT license". Is this the:
* Original 4-clause BSD license
* New BSD License/Modified BSD License
* Simplified BSD License/FreeBSD License
The latter two are considered GPL-compatible, and would not interfere with FSF endorsement. The "Original" BSD license has a stupid clause (#3) which has been dropped by most projects using this license family, so I doubt it is a problem, but it would be good to know for sure.
I don't think it's necessary for Haiku to relicense to GPL or LGPL, although it would be good to have all the core OS code under one version of one license (as mentioned above, simplified or modified BSD is fine), so people know exactly what they're getting without wading through traumatic flamewars on these forums to try and find out.
In anticipation of the anti-Linux and anti-GPL FUD, yes, I am a GNU/Linux user, have been for years. About 10 years ago, I was trained at a professional college to install, configure and operate Windows (95,98,2000) for high-level business use. I have also run XP on my own laptop, and tried to repair systems running ME, Vista, and 7. I have discovered that it is a retarded operating system, with many irreparable design flaws. It may be pretty, and it may work perfectly on the day you open the box (if you're lucky), but to keep it that way takes heaps of work by experienced technicians, and reinstalling every year or so (if the license code on the box works). Also, it is sold at ludicrous prices by a vicious anti-freedom corporate monopoly.
I transitioned to GNU/Linux as quickly as possible, and I've been mostly Windows-free for years. I'm interested in Haiku because it is an open source project, with many different things to offer, for different use cases. As mentioned above, I anticipate a proliferation of well-supported free code OS for different use cases. I see testing Haiku as a step towards that diversification.
He mihi nui ki nga kaitiaki o Haiku
Danyl Strype
Community Developer
http://www.disintermedia.net.nz/

Comments
Re: Making Haiku Free Software
What I meant is the fact that to the FSF the only kind of code that exist is open code. There is no middle path. They consider that there is no excuse in using closed source code.
Steam just announced it's coming to Linux and all that Stallman is talking about is the damage it will cause. If Adobe would announce Photoshop for Linux , their response would be the same.
Of course you still have the freedom to use non-free software, even on a free software operating system. The only thing the FSF will do is teach you that by doing so you are giving up other (possibly more important) freedoms.
You said you prefer to use open source software instead of closed source software. Please remember that the amount of quality open source software that we have today would not exist without the efforts of Richard Stallman, the person you dislike. ;)
Linux being perfectly usable as a desktop Os just makes me giggle.
In the past 10 years, the only operating system I've had installed on my personal computer (besides Haiku) is Linux. Therefore, Linux is perfectly usable as a desktop OS. Why is that funny?
...Also, I apologize if the phrase "perfectly usable" is confusing. I meant the definition (from the wiktionary): "sufficient to satisfy a requirement". Linux is sufficient to satisfy my requirement as a desktop OS. :)
Re: Making Haiku Free Software
I know that Stallman gave so much to the community. But things just drifted off into the extreme , it's almost like he is obsessed with an Utopian view on software , refusing to accept reality. His comments lately have made him seem quite crazy to be honest. And if the big guy of the open source world looks like a nut people will tend to judge the community according to that.
I for one dual boot Linux , and I do this because I love the idea of using an open source os , but to be honest 90% of my time is still spent on Win7.
Linux just doesn't cut it on the desktop. With every new release I try giving it a chance. Just that with every new release comes with the same old problems and ironically with new bugs too. It became very frustrating over the years. It kinda feels like not a single developer even cares about Linux on the desktop. Sure it's amazing on servers and embedded devices , but the desktop is a hole nother thing.
Except Canonical who else cares about Linux on the desktop ? And even Canonical for some damm reason thinks it's a good idea to have a new release way too fast , who cares about fixing bugs when you have a deadline. Is it so hard to get that you can't properly develop an os in 6 months , heck even a year seems short.
As you said Linux on the desktop is sufficient , you can live with some issues , but they do get on your nerves. Especially when you know you are just one Win install from everything working 100%. The desktop experience of Linux feels just so amateurish , inconsistent. How come Haiku with far less resources can accomplish so much more. That's why I stand by the idea that Linux devs just don't give a crap about the Desktop.
I'm actually looking forward to Gnome Os. At least they got the hole idea of having stable API's and a SDK.
Re: Making Haiku Free Software
Linux just doesn't cut it on the desktop. ... Except Canonical who else cares about Linux on the desktop?
Mint, Mageia, Fedora, openSUSE, Debian, Arch, PCLinuxOS, and so on. All of these distribtions have a goal to make (among other things) a Linux desktop operating system. Do we have different definitions of "Linux on the desktop"?
As you said Linux on the desktop is sufficient , you can live with some issues , but they do get on your nerves. Especially when you know you are just one Win install from everything working 100%.
No, they don't get on my nerves, and no, the thought of being able to purchase, install, and use Microsoft Windows does does not make using Linux harder for me. I use Linux because it is the best operating system for what I want to do, and has the software applications that I want to use.
The desktop experience of Linux feels just so amateurish , inconsistent. How come Haiku with far less resources can accomplish so much more. That's why I stand by the idea that Linux devs just don't give a crap about the Desktop.
Oh. My opinion is different. There's a lot about Microsoft Windows that I find amateurish and inconsistent.
Anyway, I agree that the Haiku developers certainly have accomplished a lot. I think the relatively small number of developers plus having a unified goal ("recreate the BeOS") has helped very much.
Re: Making Haiku Free Software
Well I guess we both have our different views on what a desktop os has to be.
But hey at least we both agree that HAIKU bloody rocks.
Re: Making Haiku Free Software
Well I guess we both have our different views on what a desktop os has to be.
But hey at least we both agree that HAIKU bloody rocks.
*high five*
Re: Making Haiku Free Software
*high five*
Re: Making Haiku Free Software
I also agree that Haiku rocks. However, I'm sad to say this flame war has answered very few of the questions I asked when I started this thread.
I guess the most pertinent question is this: is anyone else interested in the idea of a distro of Haiku that meets the software freedom criteria set by the FSF? No judgement on anyone who doesn't think this is a worthwhile goal. Just asking.
Re: Making Haiku Free Software
I also agree that Haiku rocks. However, I'm sad to say this flame war has answered very few of the questions I asked when I started this thread.
I guess the most pertinent question is this: is anyone else interested in the idea of a distro of Haiku that meets the software freedom criteria set by the FSF? No judgement on anyone who doesn't think this is a worthwhile goal. Just asking.
Why would they? Haiku is doing fine without the approval of anyone who thinks he's in charge of free software.
Re: Making Haiku Free Software
I also agree that Haiku rocks. However, I'm sad to say this flame war has answered very few of the questions I asked when I started this thread.
I guess the most pertinent question is this: is anyone else interested in the idea of a distro of Haiku that meets the software freedom criteria set by the FSF? No judgement on anyone who doesn't think this is a worthwhile goal. Just asking.
Why would they? Haiku is doing fine without the approval of anyone who thinks he's in charge of free software.
I think the ultimate point is that the goals of the Haiku developers overlaps somewhat with the FSF, but not entirely. The main point of Haiku being open-source is to prevent it dying as BeOS did. At the same time, I'm pretty happy with BSD licenses and, for that matter, the FreeBSD philosophy, as opposed to the GNU/Linux way of doing things. A large part of the Haiku design is about simplicity, consistency, and good user-design. Making Haiku "distributions" doesn't even make much sense compared to Linux distros. And forks at this point would merely divide and minimize scarce programmer and developer resources.
Re: Making Haiku Free Software
I guess the most pertinent question is this: is anyone else interested in the idea of a distro of Haiku that meets the software freedom criteria set by the FSF?
No. I'm one of the biggest advocates of software freedom that you'll meet. I'm not interested in the idea of a FSF approved distribution of Haiku for these reasons:
"Distributions" work great for Linux. Due to the differences between Linux development and Haiku development, I believe creating any Haiku distributions will be bad for Haiku overall. It would be better for there to be just the one Haiku operating system: Haiku.
Also, Haiku is not done yet. It hasn't even had an official release yet. I believe it would be better to "finish" Haiku, and then remove non-free software from it. Otherwise, there would be just too many difficulties in creating a new OS and getting it to be used.
Anyway, my point is, if even I'M not currently interested in a free software version of Haiku, then you won't find anyone who is, at least, not on these forums. ;)
Re: Making Haiku Free Software
FSF is a joke in my opinion, linux is a huge mess (i do use linux for the last 10 years, though) the distro war is a nice thing to see and it also shows the flaw of that type of development. a distro uses an ABI/api and another distro uses the same ABI but a diferent APi,they fork respectively the API and follow a new path so does happens for the original ABI making it so different that it isn't compatible any more. well looking at that, it really makes me giggle to think that FSF will/would sponsors Haiku.
Haiku is just fine as it is i would never change it's development structure or license. I would discourage the idea of distro simply it would slow down the haiku dev cycle. if you want to make FSF approved or sponsored OS better off with linux or forking haiku for that matter.
Re: Making Haiku Free Software
I guess the most pertinent question is this: is anyone else interested in the idea of a distro of Haiku that meets the software freedom criteria set by the FSF?
Apart from not enforcing these criterias through a licence change (which is extremely unlikely) it seems to me that Haiku already meets them.
Having FSF approval hardly constitutes as a reason for Haiku to re-licence to copyleft (and thus enforce the software freedom criteria). Again, the only possible situations where I could see Haiku re-licence (or rather have new code be licenced under copyleft as it would be hard to track down all existing contributors) would be if either:
A) Haiku wants/needs to be able to use GPL licenced code in the base system
B) A proprietary fork of Haiku comes along and doesn't contribute back, which could potentially piss off the Haiku developers enough to re-licence to copyleft.
I find both these situations to be extremely unlikely.
Re: Making Haiku Free Software
"Distributions" work great for Linux. Due to the differences between Linux development and Haiku development, I believe creating any Haiku distributions will be bad for Haiku overall. It would be better for there to be just the one Haiku operating system: Haiku.
Yes, Haiku and Linux is not comparable as Haiku is a 'full' operating system while Linux is just a 'kernel'.
And while the Linux kernel has a great deal of functionality (more than Haiku's equivalent will ever have I'm sure), it needs lots of other software components in order to make it an operating system.
This is where Linux distro's come in. They are for all intents and purposes separate operating systems with one defining factor which is that they all use the Linux kernel (in practice this typically includes glibc, GCC etc aswell).
They often share many other components between them aswell, but there is no 'rule' which defines a 'standard' as there are often numerous alternatives for each and every component.
Haiku on the other hand is developed as a 'whole' operating system, this makes it much less flexible than Linux and it's surrounding components, but also brings a much more (in my opinion) 'cohesive' environment where all components have been written to directly interface with eachother rather than being glued together as is often the case with Linux distro components.
And while the flexible Linux model has great advantages for many different uses (which is why Linux is so huge in so many different areas of computing), it stands to reason that when you are targeting a single area as Haiku is doing (the end user desktop), a 'whole' system written top-down for that single purpose will be superior.
Re: Making Haiku Free Software
the distro war is a nice thing to see and it also shows the flaw of that type of development.
What 'distro war'? People creating distro's is something you can't avoid in open/free software and neither will Haiku be able to prevent people from doing so. Anyone can do it, and it doesn't make it a 'war'.
The reason it's possibly less likely to happen to Haiku (but I'm certain it will anyway) is that Haiku comes as a complete system which consists of 'standard' components rather than as in Linux distros where there is 'basically' one single standard component (the Linux kernel) and the 'distro' picks the rest.
This 'complete system' aspect of Haiku means that apart from creating distros which come loaded with different types of user space software and some small modifications, there isn't a whole lot with which to differentiate distro X from the official Haiku version.
Even so, I'm certain that if Haiku does ever reach a certain measure of popularity we will have these Haiku 'distros' which does the aforementioned software bundling aswell as some degree of desktop customization.
Personally I don't see that as a bad thing, if some combination of software and desktop settings prove to be very popular it will help improve the overall Haiku experience and could be made default in the official version.
a distro uses an ABI/api and another distro uses the same ABI but a diferent APi,they fork respectively the API and follow a new path so does happens for the original ABI making it so different that it isn't compatible any more.
What the heck are you talking about?
Re: Making Haiku Free Software
All I can say is that my nerves are shot from listening to Richard Stallmans endless blah blah blah.
Bblah blah blah, blah blah blah blah blah blah, blah blah blah blah blah blah blah blah blah! bblah blah blah.
FTFSF >> Even bigger FTRICHARDSTALLMAN'SBLAHBLAHBLAH.
Talk about "crying wolf". Even the Grand Canyon couldn't shut that up! It's quite possibly the only human voice audible from space!
J/K thought we could all use a bit of humour, eh!
Re: Making Haiku Free Software
I think it's really sad that so many of those commenting here have not even taken the time to read and understand my original posting, or even tried to answer the reasonable questions that I've asked. I'm not sure what they think is gained by lashing out at me, Stallman, the FSF, the GPL, copyleft, Linux etc.
When I joined this forum I was really excited about Haiku, and keen to help promote it to other software freedom advocates. This discussion has left me feeling jaded, discouraged, and unwelcome, and really put me off having anything to do with Haiku. Pat yourselves on the back folks, you've successfully stoned the blasphemer :(
https://www.youtube.com/watch?v=MIaORknS1Dk
Re: Making Haiku Free Software
Re: Making Haiku Free Software
Hey, I appreciate what RMS did, and the Gnu project, and even call Gnu/Linux just that to this day, but I do agree with a previous poster that the "only free software" and having a "free software checklist" are detrimental to usability of a product.
One thing driving me away from Gnu/Linux is the fact that more firmware now has to be manually added to the OS, when as long as no one modifies it, it could exist inside that distribution in the first place.
And Haiku IS free software. Some components might not be, but that certainly does not place it with the likes of Windows.
Re: Making Haiku Free Software
We are not going to switch to the GPL. We use the 2-clause MIT license, which is compatible with it, for the code we write. This decision was made when the project started so the code could be reused in an eventual continuation of the original BeOS. This didn't really happen, but I think projects like Zeta used some of the code. There were some patches for BeOS based on Haiku code as well.
One of the initial goals of the project was to provide an OS to people trying to run (or sell) their proprietary applications written for BeOS. There is one succesful example of this with TuneTracker Systems. For this reason, our point of view about free software is quite different from the FSF one. Have you tried one of the Linux versions they advertise? You will quickly notice that you likely can't connect to Wifi without first installing a "binary blob" firmware for your Wifi adapter. This is why Haiku includes them. We think the most important thing is that people can use the computer, and if there is no other solution than including a binary blob, we go for that.
We also include some proprietary software such as WonderBrush and liblayout (used by Beam and BePDF) in our releases. This is also on purpose: we think there is nothing wrong with non-free software, if that's what people prefer distributing their programs like. Who are we to decide which licence people should use to write their software? And why would we not distribute it if they allow us to do so?
Over time, people found that free and open source software was a good thing, as they tried to use old BeOS software, they saw how having the source makes it much easier to debug and fix things, even after the author has moved to other projects. We even had some success at getting the sources for BeOS software back from some people old backups and open sourced. So I'd say our way to handle things is working very well, and making people do open source in the long term. While we will probably never do well enough to be on the official FSF list, we are not in bad terms with them. We disagree on some things, that's it.
Personally, I think the no-compromise decisions of the FSF is not a good thing. IT is for this reason that a lot of projects are using llvm instead of gcc. While gcc is free software (under the GPL), writing a proprietary plug-in for it is disallowed. What is that free software licence that prevents you from doing whatever you want with the code? Isn't that just as restrictive as proprietary software? The goal of the GPL is to create a separate bubble of software, which never mix with existing proprietary things. Bridging the gap between the two are BSD-licensed (or similar) projects, and there will always be some there, because when a company has a choice between a BSD and a GPL project, they will often take the former, even if they plan to contribute to it or release their code as open source.
Re: Making Haiku Free Software
Surely anyone wishing to use the GPL could fork Haiku and GPL their copy.
It would not be possible the other way though.
+1 for the MIT license - I think it's the right license for this project.
Edit: actually, maybe that's not allowed unless the copyright holder gives permission...
Re: Making Haiku Free Software
I would also like to point out that one program I am working one uses a 4MB Zobrist hashing table. That table is delivered as a binary blob. The program to create that blob is open source but by it's nature each different computer will generate a different blob when the program is ran.
Thus to insure all copies will work together, they need to include the same blob to work the same together.
Second, the program requires 3,000 seconds to create the blob on my I7 3.4GHz machine, so unless you want long start-up times you needed the blob.
PS. There is a way to make the program create the same blob every time, but it requires it runs as a single thread instead of the 755 threads it presently uses and the run time climbs to something like 45,000 seconds. Plus the Zobrist table starts showing certain patterns in the generated numbers. Not good.
Haiku's rules are easier to follow.
Re: Making Haiku Free Software
Personally, I think the no-compromise decisions of the FSF is not a good thing. IT is for this reason that a lot of projects are using llvm instead of gcc.
I'm not so sure, I think the reason that a lot of projects are using LLVM instead of GCC is because of the JIT properties made available by LLVM as well as it being a newer and as such better code base than GCC (although it is being improved continously as well), LLVM was initially written as a new backend for GCC, and has relied on GCC's fronted for most of it's development.
As for Apple, yes they switched and started funding LLVM because of GPLv3, as GPLv3 contained patent clauses, and should Apple distribute GPLv3 licenced software they may end up unable to sue for certain software patents, which of course is something they like to do. So they were stuck with GCC 4.21 (last version under GPLv2) and as such had to look for an alternative, hence LLVM, which they later combined with their c language frontend CLANG.
As it stands, LLVM is a more modern compiler toolchain than GCC in design, obviously. GCC still remains better at code generation (as in speed of generated code) and has started to modernize it's codebase in response to the competition from LLVM/Clang and as such we have two great open source and free compiler toolchains available, both with strong development, which is great.
While gcc is free software (under the GPL), writing a proprietary plug-in for it is disallowed. What is that free software licence that prevents you from doing whatever you want with the code? Isn't that just as restrictive as proprietary software?
No, you can do whatever you want with the code, however when you are 'distributing' the code to others, you have to pass on the same rights to them as those you recieved under the GPL licence.
This is the whole point of GPL and as such of FSF, that you as a recipient of GPL software should have the rights to the source code of said software, so that you can examine, modify, copy and run modifications of said software.
It's perfectly fine not to think these are end-user rights that are worth protecting (and thus disagree with FSF), but claiming that it's 'as restrictive as proprietary software is ridicoulus', what GPL does through copyright is to give and preserve rights to end users which proprietary typically removes (source code availablitiy, right to copy and distribute etc).
This of course ties in with why FSF would not allow proprietary plugins for GCC, the whole point of GCC was to provide a compiler toolchain under the conditions of GPL, which gave end users the right to examine and modify the code of the compiler and ALL it's components.
Proprietary plugins fly in the face of that, as it does the exact opposite. Actually this is one of the areas where I fear popularity of LLVM could be detrimental to the point fully of open toolchains, there's already proprietary plugins for LLVM and they will continue to grow, this in turn most likely means that features that would be included in to the open source LLVM project will instead be pay-for proprietary plugins, or worse only available on certain platforms in their forked versions of LLVM/CLANG (like how Swift is only available on OSX LLVM/Clang forked toolchain, with no word on whether or not it will be made available as open source and included in to the open LLVM / Clang projects.
What made GCC such a huge force in computing and bootstrapped what we today call the open source ecosystem is that it was fully competitive with proprietary offerings (eventually eclipsing most if not all of them in most aspects) which in turn was due to every enhancement being made to GCC actually making it in to the project and available to all, not as proprietary plugins which would have fragmented it's usefulness.
So if you find LLVM's plugin system which makes it easy to tap in to and extend LLVM through proprietary plugins a great boon, just keep in mind that there is a downside to it as well.
because when a company has a choice between a BSD and a GPL project, they will often take the former, even if they plan to contribute to it or release their code as open source.
On the contrary, it's my impression that if a company intends to contribute code they will be very happy to do so under GPL which means that anyone else using their code will have to return the favour (this is in part why Linux is the largest cooperatively developed piece of software in the world in my opinion), while if they want to make use of open source software then permissively licenced software is of course favoured as it means they can do whatever they want.
Re: Making Haiku Free Software
Of course, there is nothing wrong with the no-compromise way of the FSF and the GPL. Both this and what we are trying to do are valid solutions, and I think they are actually helping with making a complete free software ecosystem. With only the GPL, some people would not do free software at all. But without the BSD-like licenses, and all other compromises existing for the GPL (GCC runtime libraries exception, font exceptions, etc) the GPL would be isolated from proprietary projects, and it would be impossible to mix GPL code with anything else. Again, there is nothing wrong with that, and it's actually what the FSF is trying to do: make the GPL ecosystem so great that everyone wants to use it, and make it impossible to mix it with proprietary software so people have to completely switch to it.
Now, the GPL can be a good license, if that's what you want, for a single software project. A compiler like gcc, a kernel like Linux, a C library like glibc, for example. Haiku is a whole operating system, and has several components that are MIT licensed, and as such, are GPL compatible when considered separately (we could do a file-by-file listing if needed). However, we don't want to restrict ourselves to GPL-compatible-only stuff. We are welcoming to proprietary software, wich we think is better than no software at all (and yes, GPL software would still be better). It is not our goal in Haiku to advocate the use of the GPL, or any other license, to other projects. So we went with the MIT license for the code we write, and integrate whatever we think is useful in the system, living with the licenses the authors have set on it.