Blog

Sim Daltonism 1.0.4

Apple deprecated direct access to video memory in Snow Leopard and provided a new API to get screenshots. Given that Sim Daltonism exists since OS X 10.2 Jaguar, it was of course using the old way to get an image of the screen, before applying its filter on it.

Direct access still works in Snow Leopard, but that will end soon in Lion. Therefore Sim Daltonism won’t work with Lion… unless you use today’s update!

Sim Daltonism 1.0.4 should still work on very old machines (back to Mac OS X 10.2.8), still works on current Mac OS X 10.6 Snow Leopard and will continue to work in the future of Mac OS X 10.7 Lion. That’s truly taking universal applications to the extreme.

Now, if only there was an iOS app…


DMD/Objective-C Alpha 1

It’s been some time since I announced I’d be attempting to hack the official D compiler to implement support for the Objective-C object model, with the ultimate goal to write Cocoa apps entirely in D. I spent about 160 hours on this project since the announcement last September, and now I’m pleased to have a first version to release.

It’s just the beginning. As the documentation says there is still a lot of things to implement, and there will be more bugs to fix after that. But it’s nevertheless always good to make a first release of a project.

It’s also good to know you’re not working alone. Jacob Carlborg has an automated binding generator in the works. Hopefully this will allow us to provide declarations for most of Cocoa soon.

If you want to help in some way, let me know.


Asounding 1.1

It’s been about one year and a half since the first release of Asounding in September 2009. Since then I got a few sales and some feedback. Two things were clear: it worked well, but the release was somewhat lacking in polish and some people wondered how to use it in their project. Oh, and I also got a few requests for the ability to change the pitch for sound effects. Version 1.1 of Asounding, released today, addresses all that.

There is another thing that was bothering me, although nobody complained about it. Asounding is licensed either under the GPL license or under a commercial license. Given the recent polemic about how GPL apps are incompatible with the iOS App Store, it seemed to me that the GPL license was too restrictive.

So each file in this release harbors an exception to the GPL so you don’t have to disclose the digital keys used to sign the application for distribution on the App Store (keys that only Apple has):

As a special exception to the GPL, you may distribute a compiled application including this file on the Apple App Store for iOS without having to redistribute the digital keys needed to reproduce the digital signature needed to run an application on an iOS device. This exception does not invalidate any other requirements put on you by the GPL.

So if you release the full source code of your application under the GPL, you can use Asounding free of charge. If not, there are still other options.


The GPL and the iOS App Store

Many things have been written aboutApple pulling VLC from the iOS App Store. Some puts the blame on people who are religious about the GPL, but personally I agree more with the view that any GPL and LGPL software is intrinsically incompatible with the iOS and its App Store terms.

The GNU Public License was invented as a way to make sure that all users has the right to redistribute and modify the software they have. In the license preamble (version 2.0), you can read:

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

The problem introduced with the App Store is that only Apple can distribute an application that works. Even if you get the source code to modify the application, Apple charges $100 per year just to run the modified piece of software on your own device. This clearly violates the spirit of the GPL, which says you should be able to modify, use, and redistribute the modified version of the software you receive at no charge.

Given that Apple is the one copying the software when distributing it to users through the App Store, Apple is the one who should make sure it gives that right to users. The problem is of course that they don’t want to give users the right to run any software they haven’t approved (unless they pay the yearly fee for the developer or the enterprise program).

Now, many people say this is hurting users. That is true to a certain extent as this makes it impossible to publish GPL software software on iOS, unless that software can be relicensed (which is only possible when all contributors agree to do so). The end result is that iOS users are left with less software choice.

But that’s only less software choice on iOS, and only as long as the platform prevents users from exercising the basic rights the GPL is meant to protect. Less restrictive platforms are given an advantage here — they can use GPL software — and helping the less restrictive platform win fulfils the long term goals of the GPL: more freedom to modify and redistribute the software you have.

Finally, anything I’ve said here probably apply to the LGPL too. The LGPL is basically the GPL with the exception that you can put some closed code on top of it. Any one distributing LGPL software as part of an application has not only the obligation to offer the source code for the LGPL components, but also give the right to modify and use those components.

So if Apple distributes in the App Store something that falls under the terms of the GPL or LGPL, it has the obligation to give you the right to use, modify, and redistribute the software. The problem is that it doesn’t want to. The result is that Apple can’t distribute it.

At least that’s how I’m seeing thing. I’m not a layer and I’ll let lawyers debate about whether Apple’s actions actually violates the legal terms of the GPL (and not just its intent), but since Apple finally pulled VLC I think it’s likely that the terms are backing the intent correctly. I can only assume there will be more complains and more applications pulled now that a precedent has been set.



  • © 2003–2024 Michel Fortin.