Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
No GPL Apps for Apple's App Store (zdnet.com)
46 points by tswicegood on Jan 8, 2011 | hide | past | favorite | 92 comments


This is as it should be. You cannot create an ecosystem that is diametrically opposed to every principle the FSF has ever stood for, and then expect to be able to distribute GPL licensed code from it. I'm actually glad to see the GPL working.


Exactly. I contribute code to GPL-licensed projects, and I don't want the users of my code to be unable to fix it; it's simply not fair to distribute software that the end-users are not allowed to tweak and improve. When you distribute software on the App Store, the users get the changes I made, but I never get the chance to get changes that they would have made. Hence, a license that prohibits this unfairness is necessary, and the GPL fits the bill.

Don't get me wrong, I am fine with software that is BSD- or MIT- licensed. But I think for the best culture of contribution and sharing, you need to clearly set your expectations in the form of a license, and the GPL does exactly that.

If Apple wants the world of GPL'd code to be available on their devices, the solution is simple -- allow side-loading.


Why are people that purchase/download your GPL app not able to get the code or share changes? All one must do is provide a method for the client to get the code through whatever means. The section deals with third party distribution of binaries and obtaining the source code from the author indirectly. There is nothing stopping one from getting hold of the SDK and compiling the code you have distributed and installing it - they don't even need a developers account. They can't distribute it without paying Apple the developer's fee and submitting it to the app store, at which point it might be considered duplicate functionality, but, that is a separate argument.

Additionally, a client that changes your app is not required to send you the changes back unless s/he distributes it. Modifying it for his/her own purposes doesn't mean you are entitled to a copy of their changes.


Well, actually you do need to have a developer account to install builds on any iOS device. The 99$ fee is necessesary even for installs on your own device.

I guess they have their reasons for not just opening up provisioning for everybody, although doing that would sure help them win over the open source crowd (not that they really care about that in any way).


You're right. I thought I was able to publish from the SDK I have, but, can only run the apps in the emulator.


What if the source code is available through the developer's website?


You still can't install it on your or your friend's phones. What's the point of writing software you can't actually run?


You know, I don't think that Apple deliberately sat down and decided to create an anti-FSF platform.

I think they sat down and tried to create a platform that would be commercially viable, but wouldn't descend into anarchy, e.g. would stay 'family friendly'. In order to ensure that, they need to maintain control. But hey, a bunch of control freaks picked a system that would maximise their control... news at 11 everyone.

Funnily enough, the GPL is also a walled garden environment. You can tell that they'd really prefer to have a system where everything (in their system) was GPLed. Please note the distinction here, they're not saying that everyone should or has to GPL their software, they're saying that if you bring your toys to their sandpit, you have to share... and they don't care what happens in that other sandpit, everyone else can go hang. If you don't like it, go play in the other sandpit where no one shares.

Therefore I am of the opinion that it is perilously close to hypocrisy for GPL fans to complain about walled gardens. The old saying about people who live in glass houses applies here I think.


> Funnily enough, the GPL is also a walled garden environment

That's quite a stretched definition of walled garden. GPL is easy: We believe consumers have rights. If you want to use software we write as parts of yours, we forbid you to disrespect those rights. Simple as that. Yes - their rights are more important than yours. It's not about the kids playing in the sandpit. It has always been about the kids that use - and have to rely on - the toys the kids in the sandpit make.

You really don't get it, do you?


Whereas your definition is enormously abstract.

I do get it. Just because I don't share your sad devotion to that ancient religion doesn't mean I don't understand it.

I think you need to go do some research. There was a good bio on RMS that came out ~10 years ago, you should go read it.


Why does RMS's bio have anything to this discussion? I am talking about the rights of users to be independent from the programmers who write the code they use, not the beliefs of someone who happens to agree with me on some subjects (and disagree on others)

I think your, to use some of the language you so cleverly brought up, sad misunderstanding of the dynamics at play pretty much demonstrates you don't enjoy a solid grasp of what is involved here and the consequences of licenses like the GPL.


Whoosh

You really don't get it.


This is a good (but painful) thing. The GPL is designed to counteract the sort distribution lockdown that the App Store represents, and it's doing its job here. The GPL is diametrically opposed to the App Store ecosystem (buy once, reuse/modify never), and it's a good thing that it's being enforced, even if it does mean the loss of quality software on the iOS platform.

This really does underscore, however, how important it is to license your code carefully. If you want to make it completely free (as in, "I don't care what you do with it" free), use BSD. If you want to make sure that your software is never used restrictively and that it continually promotes the free software ethos, then GPL is a great tool.


> If you want to make it completely free (as in, "I don't care what you do with it" free), use BSD

Sadly, it's also free as "please, BigNastyCorp, feel free to take away any freedoms from your users who depend on my work". While BSD may be "more free" according to some, it's the freedoms of the users we are (or should be) protecting. For those, *GPL is the license of choice.


Actually, let me fix that for you:

"please GPL, feel free to take my source code, slap the GPL on it and nanana at me when new changes are made that I now can't incorporate"

Look at the whole OpenBSD wireless drivers fiasco that happened. Really us BSD guys have not much to worry about when it comes to corporations (I've had my BSD licensed source code used by big business, and they have donated money to my little dinky project because it was useful for them), we have to worry our source code is not taken by the GPL crowd as they slap the GPL on any changes and suddenly any improvements made I am not able to use eventhough it is still technically Open Source.

From personal experience, BSD becomes GPL hurts WAY more than some corporation taking the code and using it and letting me know either by email or by donating money to my small project.

(The code for the BSD project is no longer online after I found some flaws in it that I didn't want to fix, so please don't ask)


> "please GPL, feel free to take my source code, slap the GPL on it

Does it really feel better when it's a multi-billion dollar making that? Does it feel better when they withhold their improvements (if any) from you and their users?

BTW, BSD allows that and BSD proponents insist that's perfectly fine to make proprietary forks of their software, that they don't care about what you make with the software. If you feed offended by what those people are doing - forking your software and giving users extra assurances you don't - maybe BSD should not be your choice anyway.

BSD is for when you don't care what people do with your code. If you wanted corporations to pay for your code, you could have gone GPL and offered a double license option. You cannot build a business on expecting donations from happy generous for-profit corporations. In their position, if I really wanted to pay for your work, I would not donate to your project - I would hire you.

And, personally, I too feel bad about you not being able to incorporate improvements made under the GPL to your code. If I ever made such contribution, I would make sure I also made it to your upstream BSD codebase, under BSD. The license of the project is your choice.


The GPL does not give a rat's patootie about users.

The GPL is designed to ensure the maximum freedoms of developers.

That it simultaneously destroys any hope that those same developers can enrich themselves by selling the software is supremely ironic, as it forces them to live as wage slaves under the whims of their corporate overlords. Thus they gain one sort of liberty but at the expense of giving up other economic freedoms.

Frankly if someone came up to me and said that in their ideal world I wouldn't be able to sell software or build my own software company, I'd want to burn them at the stake for heresy. Fortunately the world is big enough for everyone. :D


The GPL proclaims its user-centric purpose right up front, and everything in it is about what developers must provide to users and permit them to do. Stallman is on record about freedom being much more important to him than making us or himself rich. I don't know why you'd bother to accuse them of ironically failing to achieve a goal they're clearly indifferent about.

Every time society attaches a price tag to an unlimited resource like copies of software, we make ourselves poorer overall by minimizing our benefit from wealth that can't be used up or worn out. In my ideal world, software is developed as work for hire, because it's actually skilled labor that's scarce and needs to be rationed out by the economy. Doctors don't sell medicine, plumbers don't sell pipe, why should developers sell copies of binaries rather than hours of work?


> Doctors don't sell medicine, plumbers don't sell pipe, why should developers sell copies of binaries rather than hours of work?

Because selling copies is far more scalable and profitable?


I think the question is why users put up with having software that doesn't suit their needs and that they can't fix themselves of hire someone to fix it (like they would do with a bad plumber). It's simply because they don't know they have an option.

The GPL proposes to give users that right. Since I am in that uncomfortable user position a lot, I am all for it.


Users don't fix software, developers do.


The question then becomes, can a user hire any developer for a fix, rather than being at the mercy of the original vendor? This right not only keeps hourly rates more reasonable, but also takes away the vendor's incentive to use bad designs that lead to customer lock-in.

For a perhaps overused metaphor, I wouldn't buy a car with the hood welded shut.


> The GPL does not give a rat's patootie about users.

Care to explain your reasoning?

> The GPL is designed to ensure the maximum freedoms of developers.

That's why it explicitly prohibits you from using GPL'ed code under proprietary licenses.

No. If you intend to engage in an intelligent debate, you should, at least, educate yourself to a point you actually can.

> That it simultaneously destroys any hope that those same developers can enrich themselves by selling the software

You can always double-license it, MySQL-style. Again, GPL is not for the developers, but for the users. In your case, it's likely you use more software than you create, so, in the end, the GPL actually benefits you despite your own misgivings and misconceptions.

> I wouldn't be able to sell software

Why? What I can't have is a monopoly on the GPL'ed software I sell. OTOH, nobody can have a monopoly on GPL'ed software. And that's a very good thing for the users, who are sure they will have both the software and the technical means to maintain it on the unlikely event I am hit by a bus.


>> The GPL does not give a rat's patootie about users. >Care to explain your reasoning? >> The GPL is designed to ensure the maximum freedoms of developers.

My reasoning is that the GPL is about what you can do with the code the program is based on. USERS don't do stuff with code. Programmers do stuff with code. A user is not going to take an annoying bug in your app and fix it, but (given guaranteed access to the source) a developer might.

> You can always double-license it, MySQL-style.

cough Indeed. uncough


> USERS don't do stuff with code.

They use it, they trust it works and they hire programmers to do stuff on their behalf.

> but (given guaranteed access to the source) a developer might.

Do you know of any other license that guarantees access to source from every downstream fork?


I'm not entirely convinced about this, so perhaps someone can help me out. If I contribute to a BSD-licensed project but don't assign copyright, wouldn't that give me the right to ask Apple to remove the project from their store on copyright grounds, assuming somebody submitted it there? What does the GPL have to do with it, in general? (I realise the specifics of this case are slightly different.)


If a project is under the BSD and you contribute code under the BSD, you gave rights via the license. If you change your mind the you poison the BSD licensed project. Why contribute?


This is a good question to ask of a rational, logical person. However, people change their minds all the time, so I'm interested in the legalities: could a contributor to a BSD project get applications taken down? Assume the contributor is malicious, insane, or just mercurial.


Nope. You have given away the right to make decisions on who can use the code when you assigned that license to it.

Could you take said code, remove the license and make it available commercially? Sure, it is your code, but any older or previous copies are still available under the BSD license.


Another reason to go BSD over GPL unless you really do care about the GNU project more than shipping code & solutions.


It's not about advancing the GNU project as much as advancing the values expressed in the GPL: allowing your software to be built on by those who agree to return the favor. There's nothing wrong with reciprocity.


The issue isn't about being able to build on top of what you built. This can still be done by open sourcing your app. The issue is distribution. Those people may not be able to redistribute the app, but they can still contribute code.


> values expressed in the GPL: allowing your software to be built on by those who agree to return the favor.

GPL3 has gone far beyond that; instead of just requiring that the software be usable as a starting point and building block for new work, it now also mandates that it be user-serviceable. You don't just need to be allowed to modify the tivo software to make your own dvr, now you also need to be able to modify the software in-place on your existing device.


> don't just need to be allowed to modify the tivo software to make your own dvr

If you can't do that to your TiVo, is it really yours?


The part you quoted isn't about doing things to your tivo. For the part that is, are all of my gadgets that are built with non-standard screws also "not really mine"?


With a TiVo (as with an iPod, a VCR, a PlayStation) you are either pretty much happy with what it does or royally screwed (with non-standard screws).

If you are happy with your TiVo, then good for you. If you are not, you cannot bend it to your will. It would be much better if users could do that, but, unfortunately, we are not that lucky.

You can always sell your TiVo and build your own DVR.


I drew exactly the opposite conclusion. Go with BSD if you want Apple to steal your code and contribute back nothing to the community (how much have they given back to Free/NetBSD?).


This keeps being brought up, the whole apple not contributing back to FreeBSD, but I would urge you to please look through FreeBSD's CVS history to find all of the places that Apple HAS indeed contributed back (I've made several comments with links to such sources on HN before).

Apple also has an entire website dedicated to the various pieces of source code for their OS, and other tools, and are actively developing clang/llvm (they hired the creator) which is under a BSD license ... WebKit is also a thriving open source implementation of a rendering engine for a browser and is actively used by various different projects.

Your comment brings absolutely nothing to this discussion other than unsubstantiated claims and misinformation.


As somebody who actually has to use Apple's "open source" website, you have to realize that the code for the projects listed there is often:

a) out of date or unrealized (for which they are entitled to do with BSD code, but when it comes to GPL I file complaints)

b) redacted and uncompilable (they purposely remove source code for specific targets that is still listed in the build environment, or hold back critical header files for dependent libraries)

c) limited in scope (they release WebCore, because it is LGPL, but they actually /don't/ release a lot of WebKit)

Also, it is quite clear to everyone involved that the reason that they are actively developing Clang/LLVM is so that they can avoid gcc 4.3+, when it went GPLv3. It was hard enough for them before: gcc was the one place they have been unable to redact and hoard their ARM contributions, but with GPLv3 the situation becomes untenable for them.

So, since then, Apple's Xcode compiler has rapidly slipped out of date, and now they are forced to take over development of a BSD project just to stay competitive.

Frankly, this is actually a /win/ for the GPL: despite Apple's claims, Clang/LLVM is still very very far behind GCC in terms of correctness and compliance (certainly with recent specifications, like C++0x), which has made Apple's less-free choices result in an increasingly "dispreferred" deployment target for many projects.


I mostly agree with you, but you're incorrect about WebCore/WebKit. For the first couple of years of WebKit development, Apple did indeed only release WebCore, but since 2005 all of WebKit has been released. Otherwise, how could Gnome (Epiphany), KDE (rekonq), Chromium, etc be using it?


Apple keeps an internal fork of WebKit that has numerous abilities not in their public trees, which happens to be why Android and WebOS both have totally incompatible mechanisms for adding multi-touch support to JavaScript despite iOS having been out with that functionality for years prior.


so that they can avoid gcc 4.3+, when it went GPLv3. It was hard enough for them before: gcc was the one place they have been unable to redact and hoard their ARM contributions, but with GPLv3 the situation becomes untenable for them.

How come GPLv3 (as opposed to GPLv2) is not in Apple's liking?


I actually am not certain, but if you'd like to hear it from the horse's mouth you can read this post to the gcc mailing list from an Apple employee, and follow the remainder of the thread:

http://gcc.gnu.org/ml/gcc/2008-02/msg00516.html

For more details from other people who were discussing this issue, you can read a later thread that attempted to go into further detail, although I will not claim it will be elucidating:

http://gcc.gnu.org/ml/gcc/2008-09/msg00416.html


1) (a) and (b) Applies mostly to the Darwin source. Apple doesn't provide you with the latest sources before it has it released commercially. Big f'n surprise. Not many people are interested in Darwin anyways.

(c) Actually, you can get the WebKit code and build it, and you'll have a WebKit browser to run. I've done it. Don't know what you are talking about. Did you expect the whole code for Safari? They sure give enough Webkit source for Google, Nokia, the GTK people et al to build a full featured browser upon...

2) "Also, it is quite clear to everyone involved that the reason that they are actively developing Clang/LLVM is so that they can avoid gcc 4.3+, when it went GPLv3."

Actually, it is not at all "clear". They started using it way back in 2005. Actually they wanted a better, faster, more flexible and dynamic compiler infrastructure, and LLVM provided that. And they use it for other stuff too, from graphics code to MacRuby.

3) "since then, Apple's Xcode compiler has rapidly slipped out of date, and now they are forced to take over development of a BSD project just to stay competitive".

Actually Apple had made huge improvements to XCode's compiler in XCode 3, even adding several new features to the core Objective-C language, and also made a HUGE improvement to the overall IDE and compiler (new static analyzer, new debugger, AST-based syntax assistance and code completion etc) with XCode 4 (currently in public beta 5).

4) despite Apple's claims, Clang/LLVM is still very very far behind GCC in terms of correctness and compliance

Bzzz, wrong.

5) (certainly with recent specifications, like C++0x)

Which are not even standard yet, and noone cares about while actually SHIPPING code.

Whatever man...


Also, "Apple doesn't provide you with the latest sources before it has it released commercially" has nothing to do with anything I said. Where did I claim I wanted the source code to something that was unreleased?

If you want an example, as you obviously don't believe me, RIGHT NOW Apple is not in compliance with the GPL as they have not released the source code to WebCore, which is licensed under LGPL, /as shipped/ for iOS 4.1 or 4.2. They have no requirement to release WebKit (which they simply /don't/ for mobile), but they /have/ to release WebCore.

Seriously: why did /anyone/ upvote this comment? The poster was either needlessly inflammatory without any new contributions ("Bzzz, wrong"), reliant upon straw men (I never claimed to want the code to Safari or any other project that is not explicitly open source), unrelated to the conversation (lumping unrelated features into the "compiler"), or downright off-topic (discussing anything other than Apple's open source website). Please educate me here.


1) a/b: The original poster explicitly stated "on Apple's open source website", to which I also explicitly limited my statements.

1) c: Unfortunately, this is not generally true: Apple keeps an internal fork of WebKit that has numerous abilities not in their public trees, which happens to be why Android and WebOS both have totally incompatible mechanisms for adding multi-touch support to JavaScript despite iOS having been out with that functionality for years prior.

To be quite explicit, I dare you to find and recompile WebKit for iOS. Mobile is where all the action is these days, and Apple knows that: deal with it.

2) All but one of the previous gcc contributors from Apple are no longer allowed to read the gcc-patches mailing list, and they are also not allowed to work with any code from gcc 4.3+: Apple is now permanently locked at gcc 4.2 and cannot even backport changes from gcc 4.2.2 (as this was re-marked as GPLv3 when it was released). This is a serious /serious/ problem for Apple, as they /need/ a compiler.

3) I don't understand in the slightest why improvements to the debugger, an external analyzer, or better syntax completion in the IDE, have anything at all to do with the core compiler.

4) I'm sorry, but this has been my impression as a toolchain integrator and distribution vendor. LLVM, which only even supports two platforms (although having seriously broken semi-support for ARM) is often stated to be "catching up" in correctness to gcc, but is not there yet. The opinion that LLVM is somehow epic is something you only hear from incredibly pro-Apple developers. I mean, even Apple's port of gcc explicitly chooses incorrect results occasionally for performance (an interesting specific case being ___divdc3).

5) It is in "final final final draft". Meanwhile, even for C++, Clang doesn't totally work yet. Until just a couple months ago, Clang's website claimed the following:

> However, the implementation of Clang C++ is still somewhat immature, with remaining bugs that may cause compiler crashes, erroneous errors and warnings, or miscompiled code.

AFAIK, this situation has not changed since then, and my attempts to use it recently have, in fact, been met with the compiler crashing out instead of generating any code at all.


  4) I'm sorry, but this has been my impression as a toolchain integrator and distribution vendor. LLVM, which only even supports two platforms (although having seriously broken semi-support for ARM) is often stated to be "catching up" in correctness to gcc, but is not there yet. The opinion that LLVM is somehow epic is something you only hear from incredibly pro-Apple developers. I mean, even Apple's port of gcc explicitly chooses incorrect results occasionally for performance (an interesting specific case being ___divdc3).
In order to keep their user-base on Actionscript/Flash, Adobe was banking on LLVM to get Flash to work on iOS devices before they were legally restricted from doing so. With the lifting of the ban, Adobe can now deploy Flash-based code on iOS devices[1]. LLVM is also used in many other commercial software project, so your argument doesn't hold.

[1] http://www.adobe.com/devnet/logged_in/abansod_iphone.html


Compilers can be surprisingly "incorrect" and yet still be usable in production. I've routinely been forced to work with compilers that generated incorrect code in numerous situations, and I've simply cataloged and avoided them.

(Interestingly enough, the compiler in question that generated incorrect code so often that I had a catalog ruleset of "things not to do" was llvm-gcc, when I was first deploying Cydia and Telesphoreo to the jailbroken iPhone community. However, that was a while ago, and LLVM doesn't have those shockingly bad issues anymore.)

(It was just a few weeks ago, though, when chpwn started trying to get Cydia compiling with LLVM and kept getting "internal compiler error" on what seemed like some reasonably simple C++.)


WebKit doesn't count because they were forced to contribute back as KHTML was LGPL. I know they have rewritten big parts of it under the BSD license, but given that Google (and others) commits constitutes more than 50% of the webkit contributions today, it wouldn't make sense for Apple to stop contributing their changes.


While Google at the moment may be committing 50% of the contributions and patches, I would like to point out that Apple has its internal branch of WebKit that they are working on, and when the time comes for a public release there is a ramp up in the WebKit commits on Apple's behalf. This has been documented before.

See here for a nice chart where you can see those jumps in commits: http://techcrunch.com/2010/02/06/google-apple-webkit/


> WebKit doesn't count because they were forced to contribute back as KHTML was LGPL

Curiously, I don't remember them being "forced" to use KHTML as their starting point...


I never said they were forced to use khtml, I said because they chose khtml they were forced to contribute back because it's under the LGPL.


Sorry. I got the whole wrong. That's what I get for replying a post and having a conversation about it with someone in the same room ;-)


Darwin?

How is it stealing if it's open source, and the end result is the best desktop OS ever created? Sheesh

And Apple's work on open source Clang/LLVM and WebKit has been quite significant has it not?


"Open source" is a misleading term, please stop using it: http://www.gnu.org/philosophy/open-source-misses-the-point.h...

As pointed out in other replies, Apple is working on clang because it doesn't want to deal with the GPL (unless you own Apple stock, you're the one losing because of this decision), and WebKit because it's derived from LGPL code.

How much work is Apple putting into making Darwin a usable Free Software OS? Versus how much work have Red Hat, Canonical, Novell, IBM etc. have put into making Linux available in a number of different, free distributions? The reason all has to do with GPL and copyleft. There is very little incentive for companies to invest in BSD code, and no disincentive for them to steal it. If Linux wasn't GPLed, it wouldn't be where it is today.

There's nothing wrong with what Apple is doing. However, if you think that somehow Apple releasing some of their code under the BSD justifies restricting their end-users to their locked-in App Store and their fight against the GPL, there is something morally off with your thinking.

Claiming that this makes the BSD a better choice than the GPL shows that you don't understand that Apple doesn't care about you and your open source; they'll take whatever is convenient. You're the one losing out, and you're justifying it to yourself as a good thing.


> "Open source" is a misleading term, please stop using it

It's less confusing/misleading than free-as-in-beer vs free-as-in-speech vs free-as-in-dammit-you-cant-do-that-tivo.

> Apple is working on clang because it doesn't want to deal with the GPL (unless you own Apple stock, you're the one losing because of this decision)

Have you seen the sh##t g++ provides for error messages? clang++ is a massive improvement.

> There is very little incentive for companies to invest in BSD code, and no disincentive for them to steal it.

Which is of course why http://www.postgresql.org/community/contributors/ only includes people working out of their mothers' basements, why http://www.sqlite.org/index.html doesn't show any corporate sponsors, and why BSD died years ago...

> If Linux wasn't GPLed, it wouldn't be where it is today.

Yeah, I think the original license had something about "no commercial use" in it.

> think that somehow Apple releasing some of their code under the BSD justifies restricting their end-users to their locked-in App Store

I don't see how there's any relation between those?

> shows that you don't understand that Apple doesn't care about you and your open source; they'll take whatever is convenient

"Caring" is an emotion, which organizations don't seem to have.


For many individual developers and most companies, a permissive free software license like BSD may be a better choice than a restrictive one like GPL.

Companies like Google are releasing all sorts of code under BSD on the off chance it gets used, or maybe even improved, or maybe even becomes some sort of de facto standard. Releasing the code under GPL would mostly disincentivize these behaviors.


The point I'm trying to make is that you have to understand the trade-offs. Saying GPL automatically makes it harder for others to use your code is wrong. It depends on what you want and don't want to happen. This also completely ignores the LGPL. Many projects licensed under BSD would benefit from being re-licensed under the LGPL.

There's also no reason why you can't dual-license a product, or license different parts of the same codebase under different licenses (for example, I release the unit test files in my Free Software projects into the public domain).


Apple will take whatever is convenient. You're the one losing out

I know it's a strawman argument, but if you feel superior to Apple, how come you didn't come up with the iPhone innovation? Saying Apple doesn't care about me when they obsess about designing amazing products that blow away anything that existed before is a little big disingenuous.


That's not a straw man. That's a non sequitur.


Uhm.. How does it feel to be trapped in Job's Reality Distortion Bubble?


In your reality, do all smartphones have touch interfaces? That's pretty much the definition of a revolution: when you can clearly point to a before and an after.


In my reality touch interfaces exist for decades and smartphones had touch screens for years before your "revolution".


it has. But I think its important to point out that freebsd and the bsd-stack is not in any way in competition with osx. Apple develops products, and earns money by creating products that average joe can operate with ease. This means that Apple is able to commoditize off open source, by taking and contributing back to their projects of interest. Free Software Foundation have their understanding of what freedom is. Unfortunately the fight for freedom has resulted in a rather complicated GPL v3 opposed to BSD-licenses which demand that your respect copyright and by that restricts you less than the GPLish licenses. It's ironic, but BSD offers more freedom than GPL. Also, it's a shame that VLC - being the most kick-ass videoplayer today - is hindered by legal issues.

As a funny sidenote, one could say that if you choose GPL you need to consult your legal-department. But if you choose BSD you don't even need a legal-department.


WebKit is a descendant of KHTML, and thus LGPL by requirement. I have a hard time believing Apple would have ever opened this technology had they developed it internally.


That seems a little unfair and speculative. Maybe they would have, maybe they wouldn't've. All we can say for sure is they did.


Clang? OpenCL? I think there are counter examples.


FreeBSD developer here.

Apple contributes back lots.

We're very happy that the BSD license has allowed Apple to use our code.


llvm, clang, webkit...

Directly benefiting FreeBSD: http://wiki.freebsd.org/BuildingFreeBSDWithClang

They've contributed infinitely more than "nothing" back. Literally...


Because they have no choice..


Read the BSD license. They definitely have a choice.


Fine for my downvotes. So many fanboys here, it's sickening. If you would have read the thread you may have guessed that i meant:

  - Webkit = LGPL = No Choice
  - LLVM because gcc is a no go (GPL)
Now, here some downvotes too, because i insulted your oh so holy Apple company, boohoo..


These may be old, but help to get some perspective.

http://lists.freebsd.org/pipermail/freebsd-chat/2004-July/00...

http://www.trollaxor.com/2004/02/thank-apple-for-freebsd.htm...

As mentioned in the first link by Paul Robinson,

"If FreeBSD wanted more than attribution, perhaps the choice of BSD license was a bad idea. :-)"


> Another reason to go BSD over GPL

Great. This way you take away freedoms from the users.

> unless you really do care about the GNU project more than shipping code & solutions.

No. You chose GPL when you really care about the freedoms your users deserve.


The GPL does not give a rat's patootie about users.

The GPL is designed to ensure the maximum freedoms of developers.


If you really want to get on your high horse about companies not contributing back to open source, you need to stop ignoring the elephant in the room (Google) and you need a bigger horse.

But, this is just another prime example of the bizarre logic of Apple bashing. Never mind that Apple does more to give back to open source community than most, lets ignore the facts and bash Apple. Let me give you some more:

Greenpeace bashing Apple even though Apple was actually doing more to reduce environmental impact than any of the beige box companies. Greenpeace's logic was that even though the beige box companies were worse, they had promised to at some distant future unspecified point in time take unspecified steps to at that point be better than what Apple was today... Apple of course said no such thing about their future plans... so Greenpeace was puffing on the vaporware announcement, and bashing the company that was actually taking real steps. Incredible.

Adobe bashing Apple for not putting flash onto their phone - when no other smart phone in the world ran flash... and it would be 3 years before a serious full implementation would come out from a competitor (and lo and behold it was an awful user experience and it killed battery life).

---

Frankly, as a developer there are an absolute truckload of things to complain about Apple that get ignored, but the ones people pick to focus on are just bizarre.


This is much more about a single VLC developer spitefully griefing the others than the GPL.

The only reason he has grounds to send C&D letters to Apple is because he holds copyright over his contributions to VLC. The other developers don't give a shit that the Apple-distributed binaries aren't redistributable by default, given that the iOS port is still fully open source and is trivially redistributable/compilable on jailbroken devices.


I have trouble believing an entire project is using the GPL yet almost nobody cares whether most users are getting stuck with unmodifiable binaries. And what about reused libraries? I don't believe I have any code in VLC, but if I did I'd be livid if they decided it'd be okay to contribute it to Apple's dystopian nightmare against my express wishes.


> I have trouble believing an entire project is using the GPL yet almost nobody cares whether most users are getting stuck with unmodifiable binaries.

If a project is initially started under the GPL, it's stuck that way forever even if they get all-new developers after a while who don't care. If a project is started by someone new to the area, the FSF and supporters are vocal enough that there's a decent chance they'll pick the GPL by default without really considering it. If a project links to a GPL library, there's a decent chance they'll bow to pressure of the FSF's overbroad redefinition of "derivative work" and (re-)license their project as GPL regardless of their own preferences.

It's all quite self-reinforcing and doesn't require reasoned intent from any of the participants.


I agree that it sounds more like one developer trying to pee in the porridge pot than a genuine licence problem.

For all the people screaming about how GPL forces X, Y and Z, there is a really simple solution that has been tried and proven to work before:

just DUAL LICENCE

A dual licence allows you to work inside the GPL walled garden, and also outside of it in the real world. You can literally have the best of both worlds. It preserves maximum freedoms for the users.

What it doesn't do is advance the agenda of the GPL, which is to create a self contained and self sufficient ecosystem consisting solely of the GPL. So when dual licencing you can say, well, we're not at that utopian programmer's paradise yet, so it doesn't matter, but the less commitment people have to a strong GPL, the longer it will take to reach that ideal world.


To me this seems like a failure of the simplicity of the GPL, but with no easy fix. Apple doesn't want to restrict the program to anyone, they just want to have their distribution process restrictive. If there was a way to proxy the supply of the restriction-free binary and/or source code of the app there wouldn't be a problem. The app submitter or VLC devs or another interested party would step up to host.


They want to restrict the program — Apple forbids private APIs, system modifications, kernel extensions, auto-updates.

Whether you need those things might be debatable, but Apple doesn't give you freedom to have them, and adds DRM to prevent you from modifying the app.


They want to restrict the syndicated developer. But the program you download is the same open-source app you signed up for.

DRM is indeed an issue, but that goes toward the tivoization clause that VLC explicitly did not adopt.


It's sad how many developers use /L?GPLv[23]/ licensing for their software without actually understanding what those licenses are about. Then crying out loud about "FSF destroying communities" and insisting on "oh, just don't tell anyone about GPL incompatibilities here, because distribution is more important."

If they consider an ability to ship the software more important than users' freedoms (in GPL sense), they should've been using appropriate license. I'm not saying GPL is a good or bad choice, but talking about being responsible in (licensing) decisions and statements.


Can't it be re-released under dual licenses? There seems to be plenty of other software out there that has done this.


It depends on which license the code is in already and what each contributor allows.

If you own the copyright, completely, you can license under virtually any license, ever, at any time. Period.

But if you have an open-source project with tons of contributors, well, they licensed their work under the terms of a specific license. And in the case of the GPL, it explicitly means that their contributions CANNOT be redistributed under ANY terms that conflict with the “freedoms” guaranteed to end users, etc., by the GPL. However, you can at any time release a BSD-licensed work under the GPL. This is part of why the GPL is sometimes called “viral” — once it touches you, it’s hard/impossible to escape, see?

So what would have to happen would be for everyone who ever contributed to VLC to say, “Okay, I’m chill with BSD,” and the code contributed by anyone who refused to do so would need re-written e.g. in a cleanroom to avoid copyright infringement. :-/


> So what would have to happen would be for everyone who ever contributed to VLC to say, “Okay, I’m chill with BSD,” and the code contributed by anyone who refused to do so would need re-written e.g. in a cleanroom to avoid copyright infringement. :-/

And since one of the VLC developers has already invoked the GPL to prevent the distribution of an iOS version, the same developer would probably block BSD relicensing for the same reason.


I believe that in order to do that, they would need to aggregate the copyright or get permission to change the license from each contributor. From what I understand, most projects that have dual-licensed have required contributor assignment of copyright from early on.

Edit: Here's a good overview on it http://opensource.com/law/10/9/copyright-aggregation


Can't it be re-released under dual licenses?

In theory, yes. However you need to track down every contributor and get them to agree to the new licence. It's a logistically hard thing and might not even succeed.


User-hostile is what it is.


No, it's just programmer politics from some douchebag with an axe to grind.

Frankly, the entire open source community should pat itself on the back that this sort of thing doesn't happen more often. People being what they are, this is a genuine Christmas miracle.

What he should do, is pull a Theo and go off and fork the project, instead of trying to ruin it for everyone else.


I've made a couple of video clips and published them under cc-by.

Say someone (A) wanted to use my clip in a bigger project, but couldn't give me attribution because someone else higher up in the bigger project (B) insists on not crediting any outsiders.

Would it be wrong of me in this hypothetical to demand that I either be attributed or they don't get to use my clip? Should I even feel guilty?

Bill, like anyone's going to want to use my clips of ducks quacking or sword waving.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: