Post a Comment
Well, I could ask who has the current ownership of all the BeOS IP and if there are any patents which could threaten project like Haiku.
But I won't.
I don't think I'll be doing any BeOS/Haiku coding, but I think it is great to have such articles on OSnews again.
It is interresting reading some of the ways Haiku works, how it has some of the elements similair to Mac OS X/systemd and current Linux desktop distributions.
Edited 2011-07-15 12:53 UTC
But I won't.
First, you obviously did ask the question. At least, you put the question in people's minds.
Second, I tire of people raising "patent threat" questions about open platforms that mimic closed solutions. For example, I am a fan of Mono and it shows up endlessly in discussions about that platform.
A software API is not patentable (and generally not even copyrightable). These kinds of "non-asked" questions really confuse this issue. Implementing a specific API generally does not expose you to any more patent risk than writing a wholly original work with similar scope for a similar purpose.
To answer your question, Palm (now HP) owns the historical IP BeOS I believe. Does that mean that we need to worry about HP bringing legal action against Haiku. Maybe. Is this threat a specific one that raises the risk in developing Haiku. I do not think so.
The chance that Apple will sue instead is just as high or higher. I am not picking on Apple, they just seem to be the obvious party with the greatest potential competitive interest to a successful Haiku project. Patent trolls and dying vendors are even more likely. There is nothing special about the company holding the rights to BeOS.
Let's use Mono as an example. I have been listening for years now to naysayers warning against using Mono because of the risk of Microsoft suing over patents. As a Mono proponent, I am at best too stupid or naive to understand the threat according to these people. Perhaps I am simply insane. Often, Java has been specifically mentioned as the safe and sane alternative. Is it really?
Well, Android is designed around the Java ecosystem and Oracle is now suing Google for patent violations. So, not so safe after all. But Oracle is at least the creator of Java (or has the creators rights) so perhaps some may see this as proof of why you need to worry about implementing other people's specifications. Sadly, it is not so simple.
Microsoft has in fact attacked a half-dozen Android users (companies) and successfully negotiated licensing deals with them. Now they are going after Samsung, the largest Android handset vendor. Microsoft makes more money off Android than it does of Windows Phone 7. It is possible that Microsoft makes more money off of Android than any other software company. (I do not know at all but I wonder who is making more).
What engineering did Microsoft contribute to Android? None. What Microsoft specification, operating system, or development framework did the Android guys implement to attract all this attention? None.
Yet, you can use Mono to develop not only desktop and server apps for Linux and Mac. You can use Mono to develop mobile apps for iOS and Android. No lawsuits. In fact, Microsoft (a senior employee) has stated explicitly that Mono on Android is ok and that the Microsoft Community Promise was created to encourage exactly this kind of activity.
So which option turned out to be safer? It is hard to argue that Android would have attracted a greater number of lawsuits if they had based the platform on Mono instead.
This is not an anti-Java, anti-Android, or even (explicitly at least) pro-Mono comment. My point is actually that everybody is at risk from software patent claims. Patents are not like copyrights. It makes no difference at all who authored the software specification you are implementing. Your biggest threat is probably not the obvious vendor involved in the ecosystem but some other vendor that has no commitment to (or actively competes with) that ecosystem. Your biggest risk is being more successful with a patent holder that sees you as a competitor.
TL; DR
Who cares who owns the patents for BeOS. Haiku is neither safer nor more at risk because those patents exists. Haiku (and all software) is at risk because software patents exist in general.
Please stop raising the specter of patents for every project that strives for compatibility with something else.
Good article! Detailed enough to be useful, but short enough to not be intimidating.
I've been following the Haiku project since it was first proposed (as OpenBeOS), but I have to confess that I haven't played with code on it for it for a long time. This article is just the reminder / kick in the pants I need to get the latest tools and code and get busy!
(I'm going to set it up in a VM, so I can also play with different numbers of VCPUs.)
I just started my Programming in Haiku Screencast series a few days ago.
You can find the Screencast as flash stream and downloadable here: http://www.haiku-screencasts.blogspot.com
OT but couldn't resist...Were you using your new iPad when boo-boo happened
Good, pure technical read. Perhaps a bit too involved for a typical beginner (application rosters, media files), but then again - it is nice to see some of the more advanced stuff in an introductory article.
If I had to name one Haiku API feature as its distinct forte, I'd say Messaging. It is simple yet so powerful. I often miss the BeOS messaging design in other programming frameworks.
First, let me say that I like the article and Haiku seems interesting. The question I have however, is why would I, as a developer, spend time developing for Haiku?
I don't know the os, and I also never ran BeOS. From the website, it's not really clear what kind of hardware Haiku supports (well, except for the fact that it should run on x86 systems), and whether it is usable for day-to-day use. Is Haiku at this stage more of an experimental os that people run in a virtual machine? Or is it usable as a primary os?
It's also not really clear which programming languages are available on Haiku, besides C and C++.
Well, I'd like to develop for Haiku, purely to support their efforts. There are so many small applications on other platforms which are taken for granted that Haiku simply doesn't have, or has an old version of. And you get that warm, fuzzy feeling of writing software for a small community who would really appreciate it - a feeling that isn't available in the Windows shareware world for example.
As for the OS itself, it's still in Alpha so no, it's not really set for daily use yet. I run it natively on my machine, but I had the luxury of a spare PC lying around to use for these things. There's always a risk that it can mess up, or not be fully compatible with your setup, so a virtual machine is probably the way to go for now... C and C++ are the main languages, and Python is there too, though I haven't heard much about the GUI toolkit support (Qt etc.). Not sure what else is available, but I'm sure more will show up.
Qt port is available on Haiku, not sure about the development tools, though. http://qt-haiku.ru/
C++ is currently the language of choice for writing GUI apps for Haiku at the moment, but there are other languages available for other uses, including Lua, Pascal, Ruby, Python, and Perl.
There is a GSOC project which is working on bringing GUI bindings to Python and a few other languages. <shameless plug>I have a similar project with similar goals, but a totally different implementation which should make it really easy to write bindings and make improvements on the API at the same time. The Lua bindings are 75%-90% complete.</shameless plug>
If you are new to programming AND Haiku I highly recommend this tutorial series:
http://www.haiku-os.org/blog/darkwyrm/2010-09-08_new_series_lessons...
It is a nice intro to programming, using basic Haiku applications as examples. You can get the whole series as a single e-book, which is very convenient.
Last I checked they had imported most of the Linux and BSD hardware driver stacks, though there was a bounty out on orting the Gallium3D video drivers.
So, yes a VM would be your best bet to run it, but it should b able to boot on anything that boots Linux, key word there being should...
As for why you would want to run it or write anything for it:
1.) As yet another couriosity.
2.) Pet project maybe?
Edited 2011-07-16 03:30 UTC
I probably could use Haiku as a Main OS. To be honest, most of the apps that still don't exist, have online versions (Office -> Google Docs; MSN -> meebo, etc..).
Having said that, I've run it sucessfully on hardware ranging from P3 1Ghz (actually they were Celerons but..) with a gig of ram (a bit overkill I know), to a Q6600 with 3GB and GTX260 with onboard Realtek sound and network with no issues at all (apart from the non-existing 3D acceleration).
Due to the ported stacks from BSD et al... I think that Haiku hardware support is actually preety good if you don't own any "exquisite" hardware.
Tonight I'm gonna actually try and have a go at running it on my MacBook Pro mid-2010.
good to see this post. was/is a big fan of the API. it's clean consistsnt and easy to learn.
I do alot of programming on other systems these day and find myself wondering why even some of the most modern ones lack some of the concepts put forward by beos's subsystem layout and APIs.
Hey, great article. Easy to read and educational. Thanks.
About Haiku OS, you said the project's been ongoing for 10 years and is only in its 3rd alpha release? Yikes, in Internet Time, this means it will be several generations before they come out with a first production release. I understand how it's a labor of love for those involved but for the rest of us, we'd feel more comfortable about using Haiku if they'd put a standard release out there.



