When Is It Really “Open Source”

From Phoronix:

Up to this point the graphics driver for the BCM2835 and its VideoCore processor found in the Raspberry Pi was backed by an open-source kernel driver but a closed-source user-space. Today — through cooperation with Broadcom — the Raspberry Pi Foundation was able to release the user-space bits to to this driver. Therefore there was then a full open-source ARM graphics driver with OpenGL ES 2.0, EGL, OpenMAX IL, etc. The one caveat though was that a firmware blob must be loaded at boot.
..
It turns out that Broadcom shoved much more into their firmware binary blob than just some basic setup routines and other non-critical tasks. Broadcom’s OpenGL ES (GLES) implementation is even lodged within this GPU driver firmware.

I’m not really sure it’s “open source” when you cram all the good parts into a binary blob. Essentially what they did was make the API slightly more open. I’m a bit disappointed at Broadcom. I’m a big fan of the Raspberry Pi, I own 2 already. However I’d like to see it open enough that it can improve and grow software wise.

MySQL Going Closed Source

I was a little concerned when MySQL AB was purchased by Sun, however Sun had a pretty long history with open source and mostly seemed to know how to balance things. When Sun was purchased by Oracle, I was quite uneasy knowing Oracle has a way of killing everything that isn’t Oracle. Seems like that time has finally come. Thankfully there are some forks of MySQL already. It might be time to start reading up and making sense of them.

Getting ant Working In CentOS 6

I was seeing this error after installing ant on CentOS 6.2 via yum:

$ ant
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.apache.tools.ant.launch.Launcher. Program will exit.

Odd, generally yum packages work out of the box. The problem ends up being that ant can’t find ant-launcher.jar The solution is to add the following to your .bashrc

export ANT_HOME=/usr/share/ant
export JAVA_HOME=/usr/lib/jvm/java

Once you do that it should find the necessary jar and work just fine.

Hopefully that saves someone else the hassle of figuring this out.

CentOS 6 Dropped yum-updatesd

I’ll admit I didn’t follow the RHEL/CentOS 6.0 release cycle as closely as I should have. I’m just now jumping into it. Today I learned yum-updatesd was dropped upstream. YUM isn’t perfect, but I did appreciate yum-updatesd. I liked the email notification feature. It doesn’t seem like there’s any alternative that easily gives me that back.

I may just end up compiling this one from source to restore that functionality unless I can find something better. Of course there’s an irony of compiling something from source to handle a package manager.

Open Source Licensing Choices

InfoWorld has an interesting story on GPL’s decline (might be a strong word) in favor of some more permissive licenses, notably Apache, MIT, and BSD. I think this part hits the main deciding factor:

Originally associated with variants of Unix, these “permissive” licenses took their names from the universities at Berkeley and Massachusetts: the BSD and MIT licenses. These licenses allow you to do almost anything with the associated software, including making it closed, proprietary software to which the four freedoms no longer apply. This is also a source of controversy, as some people consider it wrong to take open source software and prevent others in the future from using, studying, modifying, and distributing it.

Many corporations out of licensing concerns forbid GPL, rational or not. In my experience if you want to keep your project open to as many enterprise and corporate uses as possible, BSD, MIT or Apache is your best bet. I don’t think many these days still forbid all open source. Some still forbid GPL. They will use GPL licensed software, just not the code.

Deciding what license you pick is an important part of any software project.

Linus Torvalds Said No To Steve Jobs

Wired has a great piece on Linus Torvalds. Linus is one of the most under appreciated people in the world. We all interact with his work daily, yet very few even know what his work is, much less him. Even Steve Jobs apparently realized that:

Torvalds has never met Bill Gates, but around 2000, when he was still working at Transmeta, he met Steve Jobs. Jobs invited him to Apple’s Cupertino campus and tried to hire him. “Unix for the biggest user base: that was the pitch,” says Torvalds. The condition: He’d have to drop Linux development. “He wanted me to work at Apple doing non-Linux things,” he said. That was a non-starter for Torvalds. Besides, he hated Mac OS’s Mach kernel.

“I said no,” Torvalds remembers.

Had he said “yes”, the world could be a very different place. Mac OS X surely would be different, same for iOS. Linux would also be different as the kernel would have likely lost some steam as different folks forked and went their separate ways. Linus is a driving force and a constant in the Linux world. Linux runs many of the most popular services in the world from Google to Facebook to the Android OS among others. It’s being free, open and a rock solid OS is part of what helped these companies grow.

It’s amazing to think how far that chain reaction would go.

The Rise Of Open Data

There’s lots of talk about open source software in use all over the place. Linux runs everything from servers to cell phones. You can find it powering the entertainment system on your next flight. You can find it anywhere you use technology.

We talk much less about open data, but it’s equally interesting. The first and most prominent source is of course Wikipedia which is of course one of the largest sites on the Internet by most metrics. It’s data is widely used in many applications from being accessible on the Kindle to priming Facebook and presumably Quora (I don’t think they have ever confirmed it) with pages. It’s been downloaded and analyzed many times. Even the edits have been scrutinized by researchers to learn how people interact with each other.

Lesser known is OpenStreetMap, a project that may eventually challenge the long dominant Google Maps. OSM is to maps what Wikipedia is (or was) to encyclopedias. It’s website is still a bit crude and if made better would likely encourage some usage from folks who are opposed to Google on privacy grounds. Even more interesting is that OSM’s data is pretty widely consumed. Apple appears to be starting to use it. as they look to break the dependency on Google, a competitor for maps. Laminar Research uses it to generate a “plausible world” (their words not mine) in X-Plane 10. Think about that, a simulator using real street map data to generate a world that looks in many ways like the real world. It’s amazing.

Data has been ignored for so long, it’s just starting to get recognition. It was partly ignored because processing data used to be expensive. Cheap computing means data can be created, stored, processed, sifted and sorted, save and sent quicker and more affordable than ever before. We’re still at the beginning of this revolution.

The Case Against 24 bit 192kHz Music

Chris Montgomery aka “Monty” wrote an amazing essay on why 24 bit 192kHz downloads are silly and not worth while. Among those lobbying for it include Neil Young. Given Montgomery’s experience with audio encoding (OGG/Vorbis), he’s without question an authority on the topic.

Articles last month revealed that musician Neil Young and Apple’s Steve Jobs discussed offering digital music downloads of ‘uncompromised studio quality’. Much of the press and user commentary was particularly enthusiastic about the prospect of uncompressed 24 bit 192kHz downloads. 24/192 featured prominently in my own conversations with Mr. Young’s group several months ago.

Unfortunately, there is no point to distributing music in 24-bit/192kHz format. Its playback fidelity is slightly inferior to 16/44.1 or 16/48, and it takes up 6 times the space.

There are a few real problems with the audio quality and ‘experience’ of digitally distributed music today. 24/192 solves none of them. While everyone fixates on 24/192 as a magic bullet, we’re not going to see any actual improvement.

Go read the rest. It’s worth while. A couple nice jabs at self proclaimed “audiophiles” are included as well.

Why Open Source Is Pretty Awesome

At some point I think it’s easy to take things for granted. Being able to alter software to meet your needs is an awesome power.

Today, a tweet rehashed an annoyance regarding a tactic on websites to alter copy/paste and put a link with tracking code in your clipboard. I could opt out, but that doesn’t fix when websites roll their own. It’s a fairly simple thing to implement. In my mind there’s little (read: no) legitimate justification for oncopy, oncut or onpaste events.

So I did an hg pull while working on some other stuff. I came back and wrote a quick patch, started compiling and went back to working on other stuff.

Then came back to a shiny new Firefox build with a shiny new preference that disabled the offending functionality. A quick test against a few websites shows it works as I intended by simply killing that event. You can’t do these things with closed source.

Of course I found the relevant bug and added a patch for anyone interested.

A 15 minute diversion and my web browsing experience got a little better. Sometimes I forget I’ve got experience on that side of the wire too ;-) .

On webOS Going Open Source

webOS is going open source. I’ll start by saying I’m rooting for webOS. I’m skeptical webOS will have much success given the announcement. An OS is a huge undertaking. A mobile OS is even more difficult.

Define “open source”

The press release says “underlying code of webOS available under an open source license”. Technically Apple can say the same thing with OS X and iOS*. Working on or with an OS is an investment. A very large investment. If it’s not complete or nearly complete, it’s not going to fly. Similarly unless the license is free enough, it’s not worth the investment. It sounds like it will be pretty inclusive and liberally licensed (Apache could be a good choice), but until that happens, I wouldn’t place any bets. Especially with HP’s seemingly bizarre behavior lately.

Ecosystem/Community

Building an ecosystem and community around that is going to be tough. Years ago with no competition except a stale IE. AOL gave $2M US Dollars to start the Mozilla Foundation and that had open source legs for years already under Netscape. While few people knew of “Mozilla” and even “Firefox” both in name and concept were a while away, it was a popular browser on Linux and in some more technical crowds. webOS is starting off against Google Android. Google has resources. Google isn’t Microsoft in this story. Google won’t be Microsoft.

Mozilla was also “just” a browser with much less surface area than a mobile OS. By that I mean hardware and dealing with the Linux community intricacies. Releasing the source alone won’t do it. HP reportedly had about 500 engineers working on webOS. That’s the type of effort it takes. Google puts substantial resources behind Android.

Lastly, people don’t install open source OS’s on their phones. They don’t install any OS’s on their phones except upgrades. That means hardware partners are critical for any viability. Hardware vendors already have deals and plans with Google. This is going to be tough to penetrate. Mozilla never had much luck getting desktops to ship with Firefox. The vast majority of users choose Firefox. On desktops, at least for now that is an option. On mobile hardware that’s not generally the case.

Even if someone comes up with a way to root and “upgrade” Android and/or iPhone devices to run webOS, you can be sure hardware vendors and mobile providers will be in front of Congress the next morning to outlaw the practice and stop it (or claim it’s “wiretapping”). Given the money behind App Stores and mobile payments, which is already a mess, there’s too much money there. These “rogue” devices could be banned from major networks if it got traction.

I’d love to see it survive and thrive. I’d love to see a PC like community of hardware vendors. But it’s going to be an uphill battle.

More than likely, pieces will be taken and strapped to Android as a HTML5 based Adobe Air like platform for building/deploying apps. It may also find some use in non-mobile purposes from entertainment devices to home alarms. As more devices become ARM based computers vs. microcontrollers, webOS like Android could be a way to get started building an interface. I see that as being more likely than continuing as a mobile OS.

A successful open source project takes a lot more than most give it credit for. Source alone doesn’t do it. It’s the community and ecosystem that sustains a project, not a tarball.

* I’d consider Android half open considering it does source dumps and develops largely in private.