Open Source on mobile devices growing
A study by OpenLogic generated a few press releases,
which are all being spun in the various directions that people spin
such things. Being a hands-on kind of guy I'm not content to just watch
the spin... I've got to give it a little of my own.
The first piece of information is that mobile apps are making heavy use of open source. This makes complete sense to me. Rapid development is a core value of mobile applications. Making applications that can run well across platforms is also desireable. Open Source projects help in both of those areas. They are also freely available, which is helpful if you are giving away your application, or selling it for a dollar or two at a time. Since mobile platforms are new, there's not all of the legacy baggage that we have in the desktop environment. ("We have always used the XYZ program here and our people would melt into a steamy puddle if they used something different.") Without that restriction it seems that open source becomes a very accessible option.
The second observation is that there seems to be a lot of license violations in applications that use open source components. To me this shows that a lot of developers are just ignorance about the licensing of open source tools and the correct way to intergrate proprietary code with open source. Remember, open source is not the same as public domain. In public domain items they have passed out of ownership and have become a sort of public property. I can do pretty much anything that I want with something in the public domain. I can remix it; I can resell it; I can build on it. However, open source is a little difference. The creators of an open source product retain ownership of the project. In many cases they allow it to be used freely, provided that it is handled in compliance with their conditions. In most cases the primary restriction is that if you alter the code for your own purposes that you make those changes publicly available to the community.
I think the confusion really comes in on how people code things. If I create my application by recoding an open-source project, then I really need to open my code. However, it's perfectly possible to use an open-source project while legally creating a proprietary application. I just need to make sure that the open source code is parallell to my project and not embedded into it. In other words, I should be able to draw a solid line between everything that was open source and everything that was mine. Ideally, my code should adhere to standards well enough that if you go and get all open components yourself and add my code it will all work. The devil is always in the details and you would be aware of what is in an open source license before you develop with it. However, this stuff is pretty clearly presented. In fact, many of the open source licenses are intentially easily read so that you can easily comply.
I have to bear in mind that the company putting out this information
is in the business of helping companies make themselves compliant when
using open-source projects, so it's to their advantage to leave the
impression that compliance is tricky and sneaky. I just don't think
that's the case. I think that if you care about being compliant then
the information is there. Also, I think that if you were struggling
with the best ways to be compliant with a project that you would find
the project owners easy to work with in figuring out the best way,
provided that you treat them with respect. Isn't respect a small price
to pay for free technology?
Stay tuned for my own DD-WRT experiment
Peter Seebach is going to be back next week with a continued look at the status of Open Source in the real world. In his article he talks a little about the DD-WRT project. I came across this project some time ago. Essentially it allows you to reflash the firmware of compatible routers, replacing their proprietary operating system with a highly-functional Linux. If you have a compatible router you can give it superpowers that would normally require much more expensive equipment. This is an excellent way to breathe new life into an older router.
I had a spare router that I'd gotten from my dad, but it was not compatible. (Yes, some of them are just too weird to be messed with.) Strangely, I'm not one of those guys who has a massive collection of old computer stuff. However, I jumped on eBay while I was in the mood and looked up the model numbers on the DD-WRT site as I went along. I managed to get one that should work for just under $20, delivered to my door. I can't wait to try this. If it works well, I may do the same to my running router. I'm just a little too chicken to do it with my only functioning hardware. (I haven't rooted my Droid either. Maybe some day it will be worth it to me... but not today.)
I'll keep you posted when it comes in. If there is someone out there who has done some cool and interesting things with DD-WRT, I'd love to have some articles about that in developerWorks. Send me a note and we'll talk!