10 ms·
It's frustrating to see this somewhat blinkered view. Yeah, Apple definitely doesn't like copyleft. That's okay; lots of people don't (especially larger compan
by matthewmacleod 11y ago
It's frustrating to see this somewhat blinkered view.
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.
- cmsj 11y agoThe best stuff that we're not going to get, is everything above the STL, but I doubt anyone is expecting that Foundation/Cocoa are going to get open sourced any time soon :)
- glandium 11y agoand all the IDE sugar from Xcode.
- terhechte 11y agoWell, a good part of Foundation (Core Foundation) is already open source: http://www.opensource.apple.com/source/CF/CF-855.17/ http://www.opensource.apple.com/source/CF/CF-855.17/
- cmsj 11y agoA good point, thanks!
- pixxa 11y ago"Best stuff" depends on who "we" are... 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. ...
- pron 11y ago> The idea that organisations 'owe' the community copyleft software is therefore a bit foreign to me. 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).
- Flimm 11y agoI think the credo of free software is the developers owe their users free software, not the community at large. It's a subtle distinction.
- anon1385 11y agoI'm not sure that is the credo. At least, it's not the credo behind the GPL. Every day I use software that is at least partly GPL code, but I can't access the source code. Why? Because I used a webapp. If the software you use is running on a server rather than your local machine then the GPL says you don't get to have 'freedom'. 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.
- masklinn 11y ago> 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'd expect Foundation and other Cocoa stuff (Core Data and the like) will not be part of the package.
- sneak 11y agoYes, but when people say "Swift" they are talking about the language, not Cocoa.
- MBCook 11y agoUnfortunately many of the the really nice things about working in Objective-C and Swift are actually parts of Cocoa. I imagine the language will feel a bit like you're in a straight jacket without them.
- b00gizm 11y agoWell... yeah, because Foundation and UIKit / AppKit is not part of the Swift stdlib?
- fauigerzigerk 11y agoI think that's the crucial point. If they do not at least include things like networking, multithreading and file system access from Foundation then server-side Swift will either not happen for a long time or it will be very fragmented.
- pixxa 11y agoIt's in Apple's advantage for server-side Swift to take off, and do so quickly and robustly. 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...
- jahewson 11y agoCore Foundation is already open source and provides threads, networking, and file i/o.
- belorn 11y agoI find that limiting a companies usage of available tools based on policy decision is a bad business decision. Industries that have plenty of competition tend to discard of such attitudes, since there will always be someone willing to save money whenever possible. 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.
- DanielBMarkham 11y agoI 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. 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.
- matthewmacleod 11y agoI find that limiting a companies usage of available tools based on policy decision is a bad business decision. 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!
- laumars 11y ago> 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). 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/ 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
- Ensorceled 11y agoWait, what? Mach, Apache, OpenSSH, OpenSSL are all under Apache/BSD style licenses, not "copyleft" GPL licenses. You clearly don't understand the issues being discussed here; for at least those projects things are working exactly as intended.
- matthewmacleod 11y agoI understand what you're saying, but there's some confusion there – of the projects you've listed, none of Mach, OpenSSH, OpenSSL, and Apache are copylefted – they all use permissive licensed. And regarding CUPS and Webkit/kHTML, I think it's difficult to argue that Apple 'only released patches because of their legal obligation' – they were the primary developers of those projects. 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!
- nickysielicki 11y agoImagine Swift becomes a wild success; everyone's writing everything in Swift. What will your reaction be when Apple again makes a "legitimate business decision" and leverages the success to the benefit of their company and implicitly disadvantages other platforms? Maybe they double up on Swift support on Mac and start shipping additional features first for LLVM/Clang on OSX. Will you brush it off again as an understandable move by Apple? 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.
- matthewmacleod 11y agoImagine Swift becomes a wild success … Will you brush it off again as an understandable move by Apple? 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!
- hobarrera 11y agoI agree completely, and, on top of that: > 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.
- icebraining 11y agoGPL doesn't force you to share back either, nor is that its intent. 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.
- jahewson 11y agoThat's not what he said though, was it? The complaint was that the GPL would force his users to share back, which is true.
- icebraining 11y agoBut that's the thing: it doesn't. You can take GPL'd code, modify it, give your derivative work to other people and never contribute back.
- ascagnel_ 11y agoYou don't have to "give back" (push your changes back upstream), but you do need to put your changes out there to comply with the license once you begin distribution.
- icebraining 11y agoNot "out there," just to give the source to the receivers of binaries. 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.
- lmm 11y ago> The idea that organisations 'owe' the community copyleft software is therefore a bit foreign to me. 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).
- plorkyeran 11y agoOpen-sourcing Swift doesn't really have anything to do with being able to run iOS apps outside of iOS. Objective-C has been open-source for a very long time, and this would at most only bring Swift to the level of openness of obj-c. There's countless libraries unrelated to Swift that you'd have to also open-source to be able to run iOS apps as-in on an entirely open source stack.
- jahewson 11y agoOpen sourcing System.Windows.Forms wouldn't achieve much anyway because it depends on the Win32 API which is Windows-only. The same is likely true of Cocoa Touch, I imagine it , depends on a lot of iOS functionality. 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?
- lmm 11y agoThe main point of comparison for C# is not Swift but Java, and in Java all the UI frameworks are cross-platform. Also the fact that Mono managed a pretty good implementation of System.Windows.Forms suggests that Microsoft's reasons for omitting it from Rotor were, uh, not entirely technical.