I think you would. I certainly wouldn't be happy with Apple for doing it, but I would definitely say it's understandable. Like you're saying, they're a business, they make business decisions.
The point I'm trying to make there is any problems that arise from this fall squarely on the developers choosing to embrace this new language. I'm not writing this comment to convince Apple to act differently. The original post didn't make those arguments to Apple. This is all directed at developers, trying to change THEIR actions and feelings.
So as a developer right now, given that you have a plethora of open tools and an open ecosystem, why would you choose to use a language where a company has the opportunity to manipulate you in the future? Why write libraries and provide support and do this work for free for Apple? Writing libraries for the benefit of the community provides some security in that no one except the community stands to benefit from it. You can go to sleep happy knowing that you're helping out your fellow devs.
Writing for the benefit of a community that is paired with executive power means that it can all be swept from under you. Your library is still helping your fellow dev, but it helps the fellow dev with OSX 10.12 more. Now you've contributed to Apple's bottom line. Was that your intention?
I completely disagree with other commenters in this thread that we have some obligation to be thankful for companies for putting out things with strings attached. I'm not a spoiled brat for not liking everything. These companies would be absolutely nothing without their developers. It's time the community sticks together and realizes the power they have. It's not unthankful to demand more. It's dangerous to get swept up in the excitement of new languages and to assume good graces. Look no further than what Apple has done to Webkit, LLVM, CUPS and more. First class on OSX, give back only what's not newest. Swift will certainly be the same way.
I'm a bit unclear what you seem to think is lost under these circumstances versus copylefted software. Let's say Apple released Swift under the GPL. They would still be free to do all of the things you describe.
So as a developer right now, given that you have a plethora of open tools and an open ecosystem, why would you choose to use a language where a company has the opportunity to manipulate you in the future?
This is, as above, no different from the copyleft case.
So as a developer right now, given that you have a plethora of open tools and an open ecosystem, why would you choose to use a language where a company has the opportunity to manipulate you in the future?
It's extraordinary difficult to argue that Apple would be in a position to manipulate me as a developer if I started using Swift. For one thing, once the code is open-source – that's it. I can continue developing software using that language. If Apple decide not to release new features, and instead keep them proprietary, then the community is free to fork development.
More importantly, if it's important to members of the free software community, they are entirely able to develop capital-F-free software on top of Apple's release!
I'm really thankful for copyleft licensing and the amazing tools it's given us. But it's a vary complex issue, and I just don't agree that release under a license with fewer restrictions is necessarily a bad thing!
> "I'm a bit unclear what you seem to think is lost under these circumstances versus copylefted software. Let's say Apple released Swift under the GPL. They would still be free to do all of the things you describe."
Absolutely not. GPL means anything you put out must be published. If LLVM and Swift are GPL'd they can't develop additions to them, ship them on their Macbooks, and not publish the changes to the rest of the internet.
This is what's happening right now with LLVM.
This is true if you redistribute the GPL code of others.
However, as the copyright holders, Apple are free to release their code under whatever license they wish, or to refrain from releasing it. They can ship it on MacBooks, and are under no obligation to release the source code.
You could argue that they couldn't accept GPLd submissions anyway, but since they'd require copyright assignment in any case it's a moot point.
The bit about copyright assignment is significant though. There is a way for Apple to ensure the community that they will not screw them over for embracing their language. I think it would be prudent for the community to ask for that.
The exact same situation happened with Objective C and GCC. In that case, the Objective C frontend was released as free software.
Apple don't own LLVM at all - they hired Chris Lattner who was one of the original directors of the project when it started at the University of Illinois.
> should have been copylefted to begin with
Why? To prevent the vast majority of companies with the money to actually support and grow such a project the way LLVM has, from doing so?
You mean the ones that haven't provided LLVM with changes for the compilers they are selling?
I could not care less about having the changes to their compilers, and I would even dislike it if LLVM's license required them to do so if that meant they wouldn't touch LLVM in the first place -- in which case we wouldn't get all these core LLVM improvements.
> Why? To prevent the vast majority of companies with the money to actually support and grow such a project the way LLVM has, from doing so?
No, because the freedom of new languages in LLVM would be guarenteed.
Again, you can of course have the opinion that this is not important, or not as important as the success of LLVM, but that's your decision.
No, the GPL does not work that way.
If LLVM was GPL it wouldn't make any difference. LLVM is modular. You can write a front end that generates LLVM IR, then pass that LLVM IR file to LLVM to be compiled. It would be no different then a program that generates bitmaps and then passes them to another program to be jpeg encoded. The licence of the jpeg encoder doesn't affect the licence of your bitmap generating code.
This is why GCC is not modular.
Maybe a better link (RMS's response when he recently discovers that Apple did indeed offer LLVM copyright assignment to FSF in 2005):
https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...
Also note that 2005 is pre-GPLv3 and that Apple to this day dislikes GPLv3 so much that it continues to ship antiquated GPLv2 versions of GNU utilities in MacOS. So, my reading of the tea leaves is that the offer is not likely to be resurrected.
Assuming that you don't own all the copyright. If you do (and Apple presumably would, in this instance), you're under no obligation to release source, and can produce alternate non-open-source versions. See MySQL for an example of this in action; also some non-GPL extensions to OpenJDK in Oracle JDKs, and Virtualbox (Oracle likes this model).
This would require the copyright holder of the larger piece to get permission from all contributors before releasing under a different license, and I thought Ubuntu's CLA with Mir was to ensure they weren't trapped by this.
Where does this line of thinking originate?
Swift will be released under a permissive licence, which has literally no strings attached - you can use the software however you like. Unlike the GPL, which has a very explicit string attached.
This is not the optimal business decision anymore. Platform protectionism of this nature is not helpful today: customers expect their products to work across multiple platforms. Apple open sourced Swift because having more people use Swift is good for Apple's developer ecosystem. Even if they use Swift to create programs for non-Apple platforms, they still know the lingua franca of Apple products and could easily develop for them. Programming languages are a dime a dozen; Swift as a language isn't objectively superior to Java or Ruby or anything.
But ultimately, most people don't write software for fun. They write software to make money, and Apple has a great platform for doing that. Yes, in order to make money on Apple's platform, you have to pay Apple a cut -- and sometimes you have to write libraries to support certain features, and it's up to you and your priorities whether or not you open source those libraries.
"The community" as you describe it has no power. So long as there is money to be made on iOS, there will be a deep line of companies looking to make a buck. And so long as Apple is the gatekeeper to getting your apps in front of iOS users, you have to deal with the fact that they treat iOS and OS X as their preferred development platforms. As long as it makes business sense to develop apps, people will do it.
This is exactly what the parent commenter railed against. Go ahead and be an industry apologist but you're only squashing your rights in the process.
Apple knows that developers will keep making apps because so many will just accept what they're told and not ask for more.
As the parent put it, "it's dangerous to get swept up in the excitement of new languages and to assume good graces." We always have to remember that corporations are always going to be thinking of themselves and their gains. Especially one with a history of undermining FOSS values.
> "The community" as you describe it has no power.
Just like Tinker Bell, if you don't believe, the power of the community will fade to nothing. Be skeptical, careful, and vocal about your tool's licenses and Tink will live to see another day!
So? It sounds not only an understandable move, but NO ISSUE at all.
In this scenario you describe people have ALREADY benefited tremendously from Swift ("writing everything in it" etc, as you describe).
If they don't like some Apple's moves they can always fork from that point. A language in which "they have written everything", means it has huge adoption, and several third party companies and lots of community members to take this up.
And even if they don't fork, they still have the existing compiler and libraries -- the ones they LIKED so much in you scenario that they have adopted and written everything in them --, and they can continue using them.
Basically your argument is: if Apple gives this as Open Source, they should continue giving us anything they do with it as Open Source.
For me just giving it once as Open Source is enough.
If the main offering is good enough, then I don't care if they add some proprietary extensions, now or in 2020.
And if the main offering is not good, I don't care about it in the first place, whether OSS or not.
This seems implausible, given the extremely long lead-time on wide adoption of new language features that is customary. It would also be _easier_ if they went with a GPL-with-retention-of-copyright model; with a non-copyleft license anyone sufficiently motivated could just fork in this hypothetical scenario.
While I do agree with your point, I do also find it frustrating when businesses' are quick to base their core components on copyleft licensed code (eg CUPS, kHTML, Mach, OpenSSH, OpenSSL, Apache httpd, many GNU projects, and much more https://www.apple.com/opensource/), often only releasing patches because of their legal obvigation. Yet they are quicker to hoard their own technologies claiming they've "innovated" the industry and that their technology "works like magic".
It feels extremely disingenuous and I think that's why Apple is met with such criticism and skepticism by their critics.
I appreciate that there are other companies who mix and match open with closed proprietary solutions, but Apple seem to me to be the worst and most aggressive for exaggerating the significance and originality of their own proprietary code relative to the amount of copyleft code they depend on to run their software stack.
edit: s/copyleft/open source/g Sorry for the school boy error
But more importantly, I don't think it is a disingenuous complaint, and it's the basis of most commercial software. I build software – we release some component parts as open-source, which the proprietary bits on top are how we can make value. And it seems like that benefits everybody!
Important nitpick: this is not how you make value. Being proprietary reduces the value you make.
No, this is how you extract value from your users. Maybe you have to (one's gotta eat). But I'm sick of the English language speaking of wealth appropriation as if it generated actual value.
They own CUPS, but it existed prior to their ownership of it.
"CUPS is provided under the GNU General Public License ("GPL") and GNU Library General Public License ("LGPL"), Version 2, with an exception for Apple operating systems. A copy of the exception and licenses follow this introduction."
https://www.cups.org/documentation.php/doc-2.0/license.html
EDIT: Just to provide the full exception clause text.
"Apple Operating System Development License Exception;
Software that is developed by any person or entity for an Apple Operating System ("Apple OS-Developed Software"), including but not limited to Apple and third party printer drivers, filters, and backends for an Apple Operating System, that is linked to the CUPS imaging library or based on any sample filters or backends provided with CUPS shall not be considered to be a derivative work or collective work based on the CUPS program and is exempt from the mandatory source code release clauses of the GNU GPL. You may therefore distribute linked combinations of the CUPS imaging library with Apple OS-Developed Software without releasing the source code of the Apple OS-Developed Software. You may also use sample filters and backends provided with CUPS to develop Apple OS-Developed Software without releasing the source code of the Apple OS-Developed Software.
An Apple Operating System means any operating system software developed and/or marketed by Apple Inc., including but not limited to all existing releases and versions of Apple's Darwin, OS X, and OS X Server products and all follow-on releases and future versions thereof.
This exception is only available for Apple OS-Developed Software and does not apply to software that is distributed for use on other operating systems. All CUPS software that falls under this license exception have the following text at the top of each source file: This file is subject to the Apple OS-Developed Software exception."
So I'm not sure what you're getting at.
Nothing in particular, they just seem a bit strange.
You are of course, welcome to your own opinion.
In contrast to matthewmacleod, what I find tenuous is the argument that these things would have been open source if it weren't already so and these had been initiated from within Apple instead. Case in point: Swift!
I'm finding this hard to parse. Mix & match is okay, so long as you don't promote what you feel makes you special? I don't get it, this seems to be an emotional reaction to the fact Apple is still doing so well vs. more open source (Android) approaches.
Herein lies the crux of the competitive manner. In what possible way is Apple's success with their proprietary code and processes exaggerated? I mean, Apple might market in a way you find distasteful, but facts are facts - Apple has been wildly successful in profitability, largely because of their proprietary ability to design great holistic user experiences that people like to use. This isn't because of marketing and brainwashing solely, as the products do mostly work really well, with some debate around overall quality lately.
The Google/Android ecosystem has access to the same open source base Apple does, and they've wound up in a different competitive situation - high marketshare, no direct profits on Android itself. Everything is driven by compliments, like Ads. Perhaps that's part the point of open source - to drive out direct profits on a core set of capabilities. But why hasn't it worked on Apple?
I think the issue is not solely about code, it's about ecosystem and all the proprietary bits surrounding that (The Apple Store, the app store, their hardware devices, the Genius Bar experience...). Apple has managed to build a very appealing proprietary ecosystem to both users because of the experience, and developers because of the overall architecture of the app store and potential for $$$.
All of this is not about exaggeration and "it's magic" stuff, it's about very smart people thinking through how they're going to compete against an ecosystem that doesn't want to make any money.
You won't find anything in the comment you're responding to that says anything contrary to what you've written here. You're reframing the argument into something that it is not. No one is talking about whether or not Apple is successful.
I'm saying that most of their success has come from their proprietary efforts, particularly around their ecosystem, and that it is an interesting reflection of where open source has succeeded and failed in the broader market.
That wasn't what I was saying. While I'm sure that their PR contributed to their success (as all successful adverts help sell products), if Apple's products weren't also done to a high quality then their adverts wouldn't have made a difference. So I will always credit Apple for releasing well polished products. But in any case, I wasn't commenting about the success of Apple nor their products.
My complaint is that the incremental improvements that Apple bring to the industry - regardless of how sleek they may be - isn't itself innovation. And I'm saying that their proprietary efforts are actually a relatively minor part of their wider software stack. But obviously being the front end, it's what people recognise as being "Apple" so all of the fundamental open source components that power iPhones and Macbook Pros get forgotten about.
I guess if were to argue that I was having an emotional response to anything, it would be that the true innovators of the technology we use get forgotten about. eg the creators of the programming language C - for without which there wouldn't be Objective C or Java. Or the creators of UNIX, for without which we wouldn't have Mach or Linux. In many ways, Dennis Ritchie contributed more to the technology that powers our smartphones than Apple and Google have, yet his death was a footnote only noticed by us geeks.
But I'm drifting massively off topic now.
That's really debatable. Innovation is about bringing something new and uniquely useful to the market [1]. It is an economic term, arguably coined by economists to distinguish from invention, which often has zero economic impact. Innovations can be incremental. They might not even be technology - a small change in process or in positioning can be an innovation. Incremental things add up to a big deal. My favorite list of sources of innovative opportunity is Drucker's [2]
I agree the true inventors often get forgotten about, and that's lamentable. And I'm sorry for reading into your comment too much about success.
[1] http://www.asymco.com/2014/04/16/innoveracy-misunderstanding...
[2] https://www.extension.iastate.edu/agdm/wholefarm/html/c5-10....
No, he or she did not. I repeat myself: there is not a mention of Apple's success in the comment you're responding to, much less that this tactic is the principal reason for it. The argument is only that this tactic is something that Apple does plenty of. Every mention of Apple's success, starting with the comment of yours that I replied to, is a derailment.
You're either totally disingenuous here (by intentionally arguing against a point that was never made) or totally confused (by arguing by mistake against a point that was never made).
ec7d17150fd7cba376287ca301eb7541704a834c4bae41a978926f1b8d4df83e
Wow that's a hell of a conclusion to jump to. And your argument doesn't even make sense given how hugely successful Android has been.
I was actually thinking more on the wider industry scale, such as Redhat, Canonical, and obviously Google (but not specifically Android).
> In what possible way is Apple's success with their proprietary code and processes exaggerated? I mean, Apple might market in a way you find distasteful, but facts are facts - Apple has been wildly successful in profitability, largely because of their proprietary ability to design great holistic user experiences that people like to use. This isn't because of marketing and brainwashing solely, as the products do mostly work really well, with some debate around overall quality lately.
Clean design isn't innovation. I'm not disputing that Apple have done great work on polishing their products and rightfully deserve to be rewarded for it. I have an issue with companies that stand on the shoulders of giants and then claim their software stacks are "innovative", "original" and deserve aggressively pursuing any company who developed similarly usable frontends around the same or similar underlying open source software stacks.
> All of this is not about exaggeration and "it's magic" stuff, it's about very smart people thinking through how they're going to compete against an ecosystem that doesn't want to make any money.
All of that you listed existed before Apple incorporated them, it wasn't their invention. And your "[the mobile ecosystem] doesn't want to make any money" couldn't be more wrong. Mobile apps were a profitable market before the iPhone came along, not to mention the profitability selling feature phones and smart phones at that time. It was already a pretty big industry - though obviously had room to grow.
Apple obviously did a great job carving a share of that market. But it would be silly to say they were the only ones wanting to make money.
I beg to differ.
innovation is generally considered to be a process that brings together various novel ideas in a way that they have an impact on society. (https://en.wikipedia.org/?title=Innovation)
This pretty much sums up Apple's M.O., which has often been described as taking something that has already been invented (often by someone else), and putting it together in a new way that makes it useful (and usable) to mass market consumers.
Consider Time Machine. Apple didn't invent backup systems, but designing one in such a way that non-technical people could use it, was truly innovative, and Apple deserves a lot of credit for this. Likewise Apple didn't invent the tablet computer, but they came up with the key innovations that made it an attractive product.
So, maybe you didn't mean innovation, but invention, and maybe you don't think Apple deserves much credit, because you think invention is much harder than innovation and design? But if that truly were the case, then why do so few companies do what Apple does?
Even fewer companies do invention, so I don't think your closing argument quite proves the point it's trying to. But I do take accept your argument none-the-less.
Innovate generally means to incorporate something new, but it's true that you don't necessarily need to invent to innovate. However Apple are aggressive in litigating against anyone who they feel borrows their ideas via intellectual property laws - which would suggest they at least consider themselves to be inventors, even if you don't include that in the definition of "innovation".
Now, one could argue that there shouldn't be such laws or that they should be shaped differently, but that's a different discussion, in some ways.
Perversely it might actually be a good thing if you did have to for patents as it would force trolls into the open early on (ie before their claims run into the millions).
In practice it doesn't always work this way ( see patent trolls ) but it can be a BIG issue for people looking to enforce their patents.
Here's an interesting example:
http://www.ipwatchdog.com/2010/05/26/estoppel-time-bomb/id=1...
And this confused comment is a good example why the FSF recommends against using the confusing term "intellectual property".
https://www.law.cornell.edu/uscode/text/35/286
But that only limits the time period for which damages may be claimed - it does not forfeit the ability to claim damages altogether, which is what may happen with trademarks; that's a pretty significant difference.
Ok, that is an interesting aspect of US patent law I wasn't familiar with. But this doesn't look like a universal property of patents, more likely it's specific to the US?
No, it is more like Apple mostly takes and only gives grudgingly, so grudgingly that they are willing to spend millions of dollars on e.g. LLVM so that they won't have to give at all.
They say a good marriage is when both sides feel they are providing 80% of the "give". With Apple, they really are providing only 20% of the "give" and begrudge even that.
Or how about Webkit? Yes, they started from KHTML, which was LGPL. They could have easily kept most of their additions in separate parts linked with the LGPL parts, and they could have kept their parts proprietary. Yet they released their parts under a permissive license.
Or how about launchd? That was entirely theirs, and they could have made it proprietary. Yet they released it under an open source license, one that the FSF recognizes as a free software license. Then when Ubunutu was looking for a new startup daemon and considered launchd, but did not like the license, Apple change the license to Apache. That sure doesn't sound like Apple is trying to give anything.
As far as LLVM goes, there is no reason to believe funding it was anything other than an engineering decision. They needed a modular compiler kit so they could use parts of it in things like debuggers and editors and on-the-fly optimization of graphic filters.
LLVM was the only free compiler kit at the time that was production quality and could do these things. GCC could be modified to do these things if you put in a lot of work, but as a matter of policy Stallman would not allow those changes back into the codebase.
So, they had two options: (1) fork GCC and diverge massively from the official version, or (2) use LLVM. Any sane engineer would choose #2.
Now if you say "open source has been an integral part on the success of Apple", I would agree with that. Still Apple owes its success to it's own code not to code from others. If taking open source code and modifying it a little was all it took to make a successful company, all of us would be millionaires.
CUPS was bought by Apple. It was originally GPL software and was incorporated into OS X a few years before Apple bought it.
> Mach, OpenSSH, OpenSSL & Apache are not copyleft.
Fair point, I did actually mean open source in the more general sense than the copyleft subset of open licences.
> The success of Apple has nothing to do with the copyleft software they use....Now if you say "open source has been an integral part on the success of Apple", I would agree with that.
I sense you're nitpicking for the sake of nitpicking :) In any case, I think we agree the same point.
edit: why is this comment getting downvoted so much yet not one single correction posted? Please guys, don't just downvote because you dislike the tangent I started in my previous post. Take this comment in isolation and if you still disagree with me then explain why.
To whomever is taking issue with this, could you, uh, you know... say why?
> Yeah, Apple definitely doesn't like copyleft. That's okay; lots of people don't[...]
A lot of FLOSS advocates don't either. Like BSD developers, for example.
Personally, I release all my stuff under MIT/ISC licence. Feel free to use it. I don't keep parts secret, etc. I just choose MIT because I feel that users can use the code however they please, and if they share back, it should be because that's what the believe in, no because of legalese.
The purpose of the GPL is to ensure the users of the derived software are granted the same rights the authors of the derived had been granted originally. It's a pay-it-forward mechanism.
I know that in the context of B2C that sounds like an irrelevant distinction, but in B2B, it isn't - such software is often distributed only to a handful of organizations, who have no interest in becoming redistributers even if they have the right to do so.
I can tell you that there are lots of derivatives of copyleft software that are never made available to the original developers, in a perfectly legal way, and people who are choosing a license for their code should realize that.
Take games. While a game will likely not use GPL in the product since it would conflict with the basic model of selling licenses of copyrighted content, even a large industry actor like blizzard will use LGPL in their flagship products (like starcraft 2) if it saves them developer time. They don't seem very upset, or a failure, to have to distribute source code of those parts. It seems a very legitimate business decision to make decision based on increasing revenue and decreasing costs, and a illegitimate business decision to increase costs because for fear of "licenses" when it does not conflict with their revenue flow.
I would claim there is some good arguments (which people may or may not agree with) that any like or dislikes that companies has that is not PR based or revenue/cost based is illegitimate business decision that a market economy should replace.
Oh, I completely agree with that. I'll never forget a particularly frustrating conversation with a client who refused to allow access to their database, because we were using 'open source code that anybody could have changed'. That sort of thing – banning open-source software from your systems – is silly.
However, you've got to consider the default-conservative attitude of larger companies. In Apple's case for example, the breaking point seems to have been GPLv3 - this was when they started reimplementing things like Samba and removing copylefted software. And that's because the GPLv3 represents a real business risk – aside from the direct patent implications, litigation under it is sparse, and businesses don't like operating in unsure legal territory!
A lot of FSF advocates don't realize how toxic the GPL has become outside of the FSF bubble. GPLv3 software in particular is a now non-starter for a lot of companies and has undermined a lot the goodwill businesses had towards GPL software.
The shift towards BSD, Apache, and other open source licenses is a symptom of that and unless the FSF wises up, support for GPLv3 projects will dry up.
I would very much like to see such calculations so the market could evaluate if it is correct. Maybe see what a insurance company would ask in return for covering it, as that is their domain of expertise. So far there has not to my knowledge been a single lawsuit over GPLv3 specific requirements, which is something I think a insurance company would consider. Good money with a risk that has never ever occurred is something they might like in a deal.
That's a nice summary.
Been thinking lately about "business bugs". As technology developers, we're all familiar with technology bugs: system crashes, system runs too slow, system does something unexpected.
It occurs to me that there are business bugs as well. Business takes too long, business solves the wrong problem, and so on.
Perhaps the entire raison d'être of Lean Startup is to apply ATDD at the business execution level.
I'd expect Foundation and other Cocoa stuff (Core Data and the like) will not be part of the package.
It also makes little sense (nor is in character) for Apple to agree to open source Swift and not take a leadership role in the effort.
One step at a time...
It's not about owing something. Apple is not just passively not releasing copyleft software, they're putting a lot of work into releasing non-copylefted alternatives. That's their right of course, and there are certainly good aspects to it.
> That's a bit of a weird assumption. Apple's statement was the the Swift code and standard library would be open-sourced. What is the 'best stuff' that we're not going to get?
I can well imagine them having their equivalent of System.Windows.Forms, or of Google Play Services, so that even if the language is notionally open, no iphone apps will run on the open-source version of Swift.
Of course we don't know, because nothing is open-source yet. Which is the biggest point, I think. Good intentions are great, but let's not give apple too much credit until (and unless) we can actually clone and build their repo. We've had broken promises of this sort before (facetime protocol).
Do you mean Swift, or LLVM/clang? I mean, LLVM/clang are, amongst other things, an alternative to GCC, but I think most people would say that having some competition there is a _good thing_. Swift isn't really an alternative to any copyleft thing that I can think of.
> I can well imagine them having their equivalent of System.Windows.Forms, or of Google Play Services, so that even if the language is notionally open, no iphone apps will run on the open-source version of Swift.
The intent here isn't that iPhone apps will run on Swift on Linux, say; there are lots of libraries there that aren't part of Swift and aren't otherwise open-sourced.
C# and .NET's openness is a great thing and I think it's unreasoanable to expect to be able to write Windows apps on other platforms which lack the underlying APIs to support them. The same is true of Swift - why all the complaining?
Here are some other users who may feel they are getting the "best stuff":
Compiler designers, programming language researchers, or even CS students the Swift core is a fount of of information to learn from, modify, experiment.
Teachers whose school could not afford Macs. They can now use Swift on cheap Linux machines, and eventually on Windows.
...
What do you mean? That is the very credo of free software, namely all software should be free. Hence, everybody owes the community free software. You might not agree with it, but that's the ideology behind free software.
> Google and the Android platform has equally went out of the way to isolate the platform from the effects of the GPL.
That's absolutely true. That effort is why Google didn't use OpenJDK (which is under the GPL), which led to Oracle suing them. All because Google went to extreme great lengths to avoid the GPL (they did have their reasons: they believed, perhaps rightly so, that phone manufacturers would not agree to a GPL platform).
I think the credo is that developers owe the users of their software certain privileges, like access to source code and the right to modify and redistribute that source code.
What I don't like about the way the free software movement demands these rights is the misuse of the words freedom and liberty. By using these words, they deliberately imply that withholding these privileges from users is tantamount to a human rights violation.
I think that is an insult to people suffering from real human rights violations.
But you can't go from "you have rights" to "that's a claim of Human Rights."
You are imagining what people think and being offended by it, which is your own fault.
By using words that are closely associated with that context. This particular article goes even further, using words usually reserved for humans (or animals) to talk about software itself:
"[...] Objective-C was liberated. [...] when and how programming language software is liberated. [...] keep the core operating system of Android liberated."
>But you can't go from "you have rights" to "that's a claim of Human Rights."
And I did not. I specifically complained about the misuse of the terms "freedom" and "liberty". I have no problems with "rights". Quite the contrary, I value my rights as a user of open source software. But they are different, less important, rights than my fundamental human rights like freedom and liberty.
>You are imagining what people think [...]
Well, you know, that's the only thing language can ever do. Make people imagine what you think.
[Edit] Apparently I'm not imagining too much. Richard Stallman himself says it very clearly here: https://fsfe.org/freesoftware/transcripts/rms-fs-2006-03-09....
That is, software rights can't be more important than software, and if software is critically important to human life, then software rights are human rights. And whether or not software is that important today, it is quite likely to be in the future.
>Well, you know, that's the only thing language can ever do. Make people imagine what you think.
Yeah... So why'd you quote the first half of that statement to make an irrelevant observation? Language doesn't force you to be offended.
I don't follow that logic either way. Of course you can hold the opinion that the principle is more important than any individual case. And the free software movement clearly does that.
On the other hand, there are many things that are critically important to human life, but that does not mean that specific ways of regulating them are human rights or even important.
Human rights are ends in themselves based on needs that all humans share, like the right not to get tortured. All humans do not share the need to distribute modified versions of other peoples code, even if that code runs the nuclear power plant next door. What humans share is the need for the code to be safe, but there are different means to that end.
When purchasing software, the ability to view the source code is critical to making informed economic decisions. (I suppose you could have a regulatory authority that verifies software as well, but that comes with a whole other can of worms.) And unless you can build that software from source, you have no effective guarantee that the source you are looking at corresponds to the binary you are running.
I think we have worked out the core of our disagreement then. For me, not having exact knowlege of how every product I use is made and not having the right to copy, modify and redistribute someone elses product is not a restriction that is comparable to slavery, torture or imprisonment without trial. And I think people who were slaves and got tortured would agree.
There are so many things that we're not allowed to know, so many things we're not allowed to do, many of them much more important than distributing modified source code. If we start calling all of that a human rights violation, we are watering down the notion of human rights until nothing is left.
The power of universal human rights is that it is a small set of very basic things that people can agree on across all cultures and across most ideological divides. You got to think about whether or not FOSS is important enough to dilute this idea.
But again, I have no problem with the FSF fighting for the rights they fight for and I think Richard Stallman's work is net net very positive for the world. I just don't like this particular way of advocating it.
I am not sure how enforceable those restrictions were, but I imagine that factored into the decision to use the Apache JDK project
In any case, OpenJDK was released in May 2007, and Android unveiled in November later that year and made available only a year later. The reason Google used Apache Harmony was because they couldn't reach a licensing agreement with Sun and chose not to use OpenJDK because of its GPL license, believing phone vendors would reject it.
As Google probably wanted to have a non-standard edition of Java, it's unlikely that Sun would have licensed it to them (or they would have required a new standard being formalized first). Their best option was to use OpenJDK, but they didn't. They wrote their own runtime -- which, to this day, is at a great performance disadvantage compared to OpenJDK -- suffers annoying incompatibilities and is a few Java versions behind, all in order to not use GPL software.
Was Google right in thinking that phone manufacturers not have put up with GPL? I'm sure that at the time that's what the phone makers told them. Perhaps Android wouldn't have taken off if they had tried to shove the GPL down their throats. But I believe that with the iPhone breathing down their necks and no better alternative, the phone vendors would have yielded. We would have ended up not only with a much better, faster, more compatible Android, but with the most ubiquitous operating system on the planet being truly free. This also would have prevented the Oracle-Google lawsuit.
Instead, we're left with a slow OS that's years behind embedded Java, not truly open (as closed-source modifications are made by vendors), and a legal battle that some believe may have far-reaching consequences. All because people are afraid of the GPL.
[1]: For example, I believe (though I'm not sure) that IBM's and Aicas's JDKs follow the first choice (maybe the second), Azul's Zing JVM the second, and Azul's Zulu the third.
This is completely incorrect. OpenJDK is absolutely not optimized for mobile and it would have been a disaster on mobile. A lot of the Dalvik runtime and libraries have been rewritten with performance and memory in mind.
You are right that Dalvik was written to be optimized for mobile, but you have to understand compared to what. Dalvik is optimized for mobile compared to simple VMs that don't have a lot of work put into them -- not compared to HotSpot. Java's embedded versions have had a lot more effort put into them than Dalvik.
Dalvik itself was plan B for Google, after they'd failed to secure a licensing deal with Sun (and didn't want OpenJDK's GPL). It wasn't anyone's first choice, and certainly wasn't some new powerful technology. Just a VM that was good enough compared to the effort that's been put into it.
There are open source (obviously) OpenJDK distributions[1] specifically made for embedded devices (although you can build them yourself), and (proprietary) editions of Java have been running on devices as constrained as SIM cards for much longer than Android exists.
This aspect and the Dalvik bytecode are the main reasons why Dalvik is so fast on mobile. No other VM (or JVM) can realistically compete, especially not HotSpot. Not now and certainly not back then.
Making HotSpot multi-process would have been a much smaller effort for Google. It really isn't that hard.
> No other VM (or JVM) can realistically compete, especially not HotSpot. Not now and certainly not back then.
I've just shown you how HotSpot embedded handily beats Dalvik. Remember, Dalvik was Google's plan B. It wasn't anyone's first choice, and certainly not some cool groundbreaking technology. It's a not-too-shabby VM for the amount of effort put into it (which isn't much), and it was available for Google to buy. That's all.
Your budget determines the kind of software you get. On a purely engineering basis, Hotspot might have been the better option, Business-wise, Dalvik made sense to Google.
1. http://www.pcworld.com/article/253666/a_timeline_of_oracles_...
* March 2007 -- Sun open sources the JDK at the perfect moment for Google to adopt it. Google chooses not to because they don't like the GPL.
I think the phone vendors would have caved. It might have taken another year, but they would have realized they had no choice once the app store opened in July 2008, as none of them could have had the brand recognition to build an attractive software platform to rival the iPhone.
Do you think Sony, let alone Verizon would cave and agree to the terms of the GPL? Remember this is in 2008 - Sony's DRM/rootkit scandal was only 3 years prior (2005).
Edited: fixed my years
Also, just to clarify, the pill really isn't all too bitter. Use of OpenJDK wouldn't have dictated that all apps must be GPL -- not even bundled apps made by the manufacturer. The OpenJDK has a clear "classpath exception", which makes it more like LGPL -- any code dynamically linked with it is not required to be GPL. The only implication is that any modification they make to the actual runtime itself would have needed to be GPLed. I don't think phone manufacturers make any technologically groundbreaking, game-changing changes to the runtime -- anything that could hurt their competitiveness had it been free.
So I can understand Google's decision, and they certainly believed going GPL was an opportunity cost, but in retrospect, choosing OpenJDK would have -- at the very worst -- delayed Android's adoption by a single year, but would have ended making everyone's life much easier. I think that in hindsight, it's clear that passing on OpenJDK was a big mistake. Don't fear the GPL.
http://www.atego.com/products/atego-perc/
Just one example.
Google won round one..... Lost round two on appeal .... And is now appealing the lose.
To make that claim, you will have to show another mobile JVM-based OS that's faster than Android.
Used in missile radar control stations and battleship weapons systems.
Is that fast enough for you?
If Android had been using the GPL, it would probably never have taken off because:
- Manufacturers and other partners would have refused to use it
- OpenJDK is not optimized for mobile, so performance would have been disastrous (especially in 2007, try to remember the kind of phones we were using back then)
So "users" isn't a useful distinction when it comes to Free Software, because the GPL doesn't guarantee freedom for users. It only guarantees freedom for the person who owns and controls the hardware.
They don't because a lot of people even inside the FOSS community are violently opposed to the AGPL. Quite a few people think that it conflicts with Freedom Zero.
Yeah, Apple definitely doesn't like copyleft. That's okay; lots of people don't (especially larger companies – how many large companies actively release GPLd software?). It's a legitimate business decision, and there are some good arguments that support it (which you may or may not agree with).
The idea that organisations 'owe' the community copyleft software is therefore a bit foreign to me.
Furthermore:
We'll likely see pieces of Swift 2.0 thrown over the wall. But the best stuff will be kept proprietary.
That's a bit of a weird assumption. Apple's statement was the the Swift code and standard library would be open-sourced. What is the 'best stuff' that we're not going to get?
Apple's not-yet-executed move to liberate some of the Swift 2.0 code seems a tactical stunt to win over developers who currently prefer the relatively more open nature of the Android/Linux platform … the copyleft license of Linux itself provides the opportunity to keep the core operating system of Android liberated.
That's a bit flaccid. Google and the Android platform has equally went out of the way to isolate the platform from the effects of the GPL. In fact, I'm pretty sure one of the reasons Bionic (the Android libc) exists is specifically to limit the impact of GPL code on the platform. Android's use of Linux is basically a historical accident, and painting it as some kind of concerted effort towards software freedom isn't a compelling point.
TL;DR - you need to relax. Apple releasing open-source code is a good thing. We can now all benefit from using this code. Maybe you'd prefer if it were copylefted, but it's not – it's still good, and painting it as an evil move against software freedom seems like a bit of a mental stretch.