Yellowdog is still around Debian still supports it Ubuntu had some Mandriva had several which were quite good Fedora Core had a distribution, RedHat EL 3,4 and 5 are available for Power Gentoo had a good one openSuse as well as SLES8--11
No you don't have access to a 100 distributions but power is something like the 3rd most supported platform for Linux.
As for VMs, power architecture is way way better at VMs than x86 architecture. Heck the old VM system that came with Microsoft Office will, AFAIK run just about any Linux.
No question there is no reason to pick Power for Linux, you are better off on x86. But it isn't like you are SOL with Power.
I'd also be curious what apps you didn't find for OSX. Nothing compares to Linux in terms of package availability but Fink is pretty good for the power architecture.
For better or worse Macports is semi-official (http://www.macosforge.org ) while Fink has always been at arm's length. I personally have always thought this is odd since Macports is less tightly integrated with OSX and more of a generic BSD system. For example they frequently don't use the system installed versions of applications to resolve dependencies.
The word key only appears twice. Once is a reference to things like encrypted which we both agree isn't happening in Apple's case the other is:
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
Basically all you have to do ensure that a person can execute modified code and they do. If you can compile and code for iOS you can install and execute modified code.
As for $1T compiler, there is a concept in law when you price something so as not to sell, i.e. its not "reasonable terms" or it "onerous terms". Which obviously doesn't apply in the case of the iOS SDK as 350,000 applications show (about 13x the number in Debian). Every single one of those apps was written by somebody with the iOS SDK so the terms are clearly not onerous, and not meant to prohibit development. Heck I'm not even an iOS developer but if were to pick up the iPhone I'd want to pick up the SDK to be able to install what I want on my system. So I'm either jail breaking or getting the SDK. Heck this is becoming so standard that Macports which is the semi official (see whois entry) open source interface for Mac is bring out an automatic iOS conversion tool so you can just compile list of apps.
Even the GPL itself allows you to charge a margin fee for transferring source code. Back in the early 90's the FSF itself charged $200 for a tape of their sources. There is a difference between $99 and $1T dollars in terms of intent.
Well its always better for dev boxes to be close to the servers. There is nothing Mac specific about that. You would have the same problems using Debian to develop for IIS servers.
I've only poked around a little, but so far I've found three separate package managers for OS X: Fink, MacPorts & Homebrew. Each is heinous in its own special way, but the fact that you have three competing package managers, that don't talk to each other has convinced me that Mac users, in the typical hipster fashion, brutally raped the Unix culture, throwing away everything that made it unique because they did not understand it.
Lets see: Fink is based on Debian's apt system Macports is a typical BSD style port system Homebrew is not designed as a package management system but to allow installs of individual applications easily.
And this one:
I realize that if you're a Mac web developer, your deployments probably consist of ssh and git pull, but when you are older, you will understand the value of automated version dependency satisfaction. Better not tell you now, it would spoil the surprise.
Of course the point of all 3 of them is dependency resolution.
One of the unfortunate trends in OS X package management is the idea that the user should be compiling everything. This is being perpetrated mostly by the Homebrew package manager, whose basic building block is the formula, basically a Ruby script that tells it how to download, compile, and install the package. Well congratulations, dipshit, you've reinvented dpkg, poorly. I am simply trying to develop an application, is there a good reason why I am compiling libxml2 and all of its dependencies? What is this shit, Gentoo?
Gentoo of course originally was trying to bring a BSD style ports system to Linux, as an alternative to the integrated.apt,.rpm culture. So it seems to me this guy might want to understand package system on Linux before he comments further.
In all cases you can't distribute GPL 3 software for the iPhone because there is no way to acquire the keys.
We've already gone back and forth a dozen times about all the ways to acquire keys. A key for 99 devices is included in the SDK. You can generate a key inside the SDK. You can generate a generic key for a device. I don't understand why you keep making this claim. You can install any software you have the source for on any device you have physical access to and/or where the owner will accept a provisioning file from you.
The situation is not analogous to Tivo.
and so you would have to promise to provide free SDKs
Why would you have to do that? I don't have to promise to give people free hard drives if my program writes files. I don't have promise to give them free CPUs if my program uses assembly language calls. I don't have to promise to give free licenses to Microsoft Windows if my program makes use of Microsoft Windows. iOS-SDK is a commercial compiler, until recently that was the norm.
Anyway. Good conversation. I don't think we are getting anywhere. I think you should take a look at the iOS documentation. You are thinking about a situation that simply doesn't exist.
That's why most companies contribute back, it benefits them. And IBM's billion also benefited them. Things like Linux on mainframes was not something IBM did entirely out of good will. And that's fine. That's how open source works with companies, you create something that benefits you but indirectly benefits others in exchange for receiving stuff that benefits you.
There is no "B's license" since B has no power to license other than the GPL. It is the same as if you gave me a document with Barack Obama's signature on it giving me all his possessions - I may have the paper, but that gives me no claim on Barack Obama's property because he didn't actually sign it.
That's not how copyright works. In US law there are 3 status you can have for a work:
a) You hold copyright, you can do pretty much whatever you want.
b) You have a redistribution license. That's a contract in essence which gives you some limited right to redistribute the work in whole or in part. Some aspects of this license come from the law, others automatically attach if you buy a copy; but generally they come from an explicit agreement. The GPLv3 claims to be a copyright license. Most US IP lawyers say that its actually not a license but what is called a "standard form" of a contract. That means a set of implied meanings and cultural assumptions that are used in a contract. Which is actually good for the Free Software Community since it means things like the FSF FAQ actually have legal weight.
But the important thing about standard forms is they apply whenever the written license is unclear about something. In the case of B's actions there is an explicit license that is not unclear. i) B is agreeing by uploading to license Apple. ii) Apple is not agreeing to abide by any terms of any license outside the Apple Store license. iii) Ergo B cannot assert that Apple needs to provide special access.
c) You can be unlicensed which means you cannot redistribute.
My argument is that:
A is the copyright holder. B got a license from A, which includes the right to relicense. Apple has an explicit license from B. You can argue that B may not have the right to grant that license to Apple but that's B's violation not Apple's. C is unlicensed until they have the SDK, once they have the SDK they are licensed.
It is irrelevant that making a VB compiler is difficult - what matters is that it is possible.... but those keys aren't free. The keys must be handed over unconditionally and requiring payment is an extra condition that the GPL does not allow for - otherwise you could by-pass the GPL entirely by charging a trillion dollars for the keys.
Yes except for one thing. That's the same charge you would incur whether you want to install modified version or an unmodified version of B's source on your device. The GPLv3 says I can't require additional conditions, but its not an extra condition for installing B's binary. That's the charge B had to incur for example. Apple isn't charging C anything more than it charged B. Where is the extra condition for modification? There is nothing extra there, B's code is dependent upon a commercial piece of software to work. The is not an analogous situation to Tivo.
Lets eliminate the compiler issue and the Apple Store issue and make it even more general: G writes a GPLv3 piece of software. H writes a GPLv3 piece of software using G's code that requires commercial component X to run. J sells commercial component X, owns copyright.
How is J bound by the GPLv3? J never contracted with G. J has no responsibility for G's code. As far as I can tell this is the heart of the disagreement, you are arguing that J has responsibilities under the GPLv3 and I'm trying to figure out the basis for those responsibilities. I can see a possible violation for H but I'm hard pressed to see how J is violating anything.
H may be violating G's license terms however. Its a bit unclear even there. For example the Linux kernel has binary blogs that require commercial hardware to run.
Now weaken it a bit: G' writes a GPLv3 piece of software. H' writes a GPLv3 piece of software using G's code that requires commercial component X to modify. J' sells commercial component X, owns copyright.
Now this is less clear. Since H' is granting to everyone the ability to modify the code under the same terms he got it.
Whoever gives you binaries is bound by the GPL 3, so if you got them from Apple then Apple is bound by the GPL.
No its not that clear cut. You are trying to make this abstract. You don't violate copyright in the abstract, its violated in the specific. That's why I asked the question the way I did. The GPL is a license. Apple is bound by the license they got from B, whatever that is. If you want to argue that the GPL conflicts with Apple's license than the violator was B in granting Apple permission to redistribute via. the Apple store. Apple has an explicit license to redistribute under the terms of the Apple store.
Now I think what you are saying that B doesn't have an unencumbered copyright and thus couldn't grant Apple that explicit license. Which is possible, B is violating A's copyright in issuing that license. But then the infringing act is B's. Apple never engaged in an act they weren't specifically licensed to perform. So no I don't see where this obligation on Apple's part exists. B's acts, under your theory are fraud, but that fraud eliminates Apple's liability.
Now moving back to the more general question:
The GPL 3 specifically addresses the question of keys.
Yes it does: “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
And the SDK meets that criteria. With the SDK you can run modified versions of code on your device. Ergo Apple has already passed to everyone information about how they can run any code, providing it is compiled with XCode on any iPhone/iPad they choose. They have already met the criteria of providing this information across the board. The piece of software required to actually do this, is commercial not GPL. But I don't see anywhere the GPL bans you from requiring commercial software to actually compile your program. This was the point of the Visual Basic example.
Your point about you can create a Visual Basic compiler is possibly true, though I think you substantially underestimate the difficulty. Further of course you can unlock your device and run anything with the only objection being that Apple will no longer warranties it. Which is something the GPL specifically allows for, refusal to warranty modified versions.
So no I think there are a lot of problems with arguing that Apple is violating.
Finally in terms of the user suing, you have to claim that "Apple promised to abide by the GPL". But Apple never promises by any license for applications distributed by the application store. That's part of the general process. Again an exemption that B would have granted Apple. So if C were to sue Apple I can't see how B's license doesn't act as a shield.
The person who is violating the license under your theory is B, not Apple.
Under your theory of the GPLv3 do you believe you can ever redistribute a GPLv3 application which requires Visual Basic Ultimate to compile?
If no, I think you are being consistent. If yes, then how is the situation any different? I'm still unclear how you see the SDK as being different than the paid compiler.
____
Now here is how I would respond. I'm not sure Apple is the one violating the license.
A creates some GPLv3 software. B takes that GPLv3 software along with other software and releases an iOS application. B explicitly licenses Apple to redistribute under the terms of the Apple app store. Apple redistributes making no changes but does add one cryptographic piece of data. C buys the application at the app store. As already mentioned Apple does provide means for C to install modified code but they do have to buy the SDK to do it.
Now I would argue: 1) C clearly doesn't have the right to sue for copyright violation because C doesn't have copyright. 2) B clearly doesn't have the right to sue for copyright violation because B quite explicitly had to engage in activities for development which imply active consent to Apple's distribution form. Its impossible to develop an application for iOS that runs on any devices without using the provisioning system.
3) (A) might have a case but its hard to see how that case isn't against B rather than Apple.
a) Unlocking b) Ability to run your own applications
Locked phones can run your own applications via. the iOS SDK. You can plug another compiler into XCode or reverse engineer the various security files. That's not illegal it is openly sold and distributed by Apple. Not only that you can distribute your applications to other specific iPhones, up to 98 of them. That has nothing to do with unlocking.
Sure it does. Back before free compilers were the norm, people had to buy their compilers. Providing source does not require you to provide the compiler to execute that source. Effectively the iOS compiler is commercial. I can distribute my source code for that compiler, satisfying the GPL without needing to distribute the actual compiler itself.
Under your theory you couldn't have a GPLed Visual Basic application.
If the apps don't share a walled garden you have a lot complexity with intra app communications and signaling. Integration of applications is a major selling point. Just think about making drag and drop work between walled gardens.
As for the rest about security and just being harder. I agree.
I agree with you. Though iOS isn't actually quite that strict. And I do think Macs will be tightened up some. But.... I don't think Macs will ever get nearly as tight as iOS systems which is where you and I are agreeing against GP.
The problem is circumvention. If you don't draw the boundaries broadly then people can easily circumvent. For example I can inherit your class X library. As my class Y. I can then use your X.a, X.b, X.c as my Y.a, Y.b, Y.c while keeping my replacement for X.d proprietary since its Y.d and not part of your code. The point of the GPL is to make it difficult to use GPL software and link in proprietary extensions.
As far as not copying, the problem is if your work is entirely based on another, wouldn't function without it, then its a derived work. This prevents someone from from changing the format and arguing that they never copied. Say for example I took your book and:
a) render it in a different font so the binaries don't match. For example I go ASCII to EBCDIC. b) translate it into a new language c) translate it into a new medium, like a make play based on it.
All of those things are considered copyright violations. And even if I
Walled garden for office Walled garden for Adobe apps (which have scripting) Walled garden for Quark Walled garden for iOS development.....
This is exactly what happened to Microsoft with NT4 in terms of security. The "OS" was very secure but the applications, including things like the shell, were all on another layer which wasn't. Their applications, including things like IIS were incompatible with their security model. That strategy is a mess.
Apple is able, so far to pull it off because iPhones aren't used for anything complex. They are able to pull it off because roughly 100% of iPad users also own a laptop. In other words these things are limited secondary and tertiary devices.
Now what they might do is have two entirely different machines. One that is "professional grade" that is less locked down and one that is consumer grade. Apple has always wanted a larger differentiation between the macbook and the macbook pro and having the pro be able to run thousands of applications the macbook can't.....
Read the context. We are talking in terms of a hypothetical where Macs are the ones being locked down. You aren't disagreeing with my point you are agreeing that Macs support for iOS is what makes this possible.
Devolved? When wasn't it like this?
There are a lot of powerpc Linux distributions:
Yellowdog is still around
Debian still supports it
Ubuntu had some
Mandriva had several which were quite good
Fedora Core had a distribution, RedHat EL 3,4 and 5 are available for Power
Gentoo had a good one
openSuse as well as SLES8--11
No you don't have access to a 100 distributions but power is something like the 3rd most supported platform for Linux.
As for VMs, power architecture is way way better at VMs than x86 architecture. Heck the old VM system that came with Microsoft Office will, AFAIK run just about any Linux.
No question there is no reason to pick Power for Linux, you are better off on x86. But it isn't like you are SOL with Power.
I'd also be curious what apps you didn't find for OSX. Nothing compares to Linux in terms of package availability but Fink is pretty good for the power architecture.
For better or worse Macports is semi-official (http://www.macosforge.org ) while Fink has always been at arm's length. I personally have always thought this is odd since Macports is less tightly integrated with OSX and more of a generic BSD system. For example they frequently don't use the system installed versions of applications to resolve dependencies.
The word key only appears twice. Once is a reference to things like encrypted which we both agree isn't happening in Apple's case the other is:
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
Basically all you have to do ensure that a person can execute modified code and they do. If you can compile and code for iOS you can install and execute modified code.
As for $1T compiler, there is a concept in law when you price something so as not to sell, i.e. its not "reasonable terms" or it "onerous terms". Which obviously doesn't apply in the case of the iOS SDK as 350,000 applications show (about 13x the number in Debian). Every single one of those apps was written by somebody with the iOS SDK so the terms are clearly not onerous, and not meant to prohibit development. Heck I'm not even an iOS developer but if were to pick up the iPhone I'd want to pick up the SDK to be able to install what I want on my system. So I'm either jail breaking or getting the SDK. Heck this is becoming so standard that Macports which is the semi official (see whois entry) open source interface for Mac is bring out an automatic iOS conversion tool so you can just compile list of apps.
Even the GPL itself allows you to charge a margin fee for transferring source code. Back in the early 90's the FSF itself charged $200 for a tape of their sources. There is a difference between $99 and $1T dollars in terms of intent.
Well its always better for dev boxes to be close to the servers. There is nothing Mac specific about that. You would have the same problems using Debian to develop for IIS servers.
Lets just quote a line from the article:
Lets see:
Fink is based on Debian's apt system
Macports is a typical BSD style port system
Homebrew is not designed as a package management system but to allow installs of individual applications easily.
And this one:
Of course the point of all 3 of them is dependency resolution.
Gentoo of course originally was trying to bring a BSD style ports system to Linux, as an alternative to the integrated .apt, .rpm culture. So it seems to me this guy might want to understand package system on Linux before he comments further.
We've already gone back and forth a dozen times about all the ways to acquire keys. A key for 99 devices is included in the SDK. You can generate a key inside the SDK. You can generate a generic key for a device. I don't understand why you keep making this claim. You can install any software you have the source for on any device you have physical access to and/or where the owner will accept a provisioning file from you.
The situation is not analogous to Tivo.
Why would you have to do that? I don't have to promise to give people free hard drives if my program writes files. I don't have promise to give them free CPUs if my program uses assembly language calls. I don't have to promise to give free licenses to Microsoft Windows if my program makes use of Microsoft Windows. iOS-SDK is a commercial compiler, until recently that was the norm.
Anyway. Good conversation. I don't think we are getting anywhere. I think you should take a look at the iOS documentation. You are thinking about a situation that simply doesn't exist.
That's why most companies contribute back, it benefits them. And IBM's billion also benefited them. Things like Linux on mainframes was not something IBM did entirely out of good will. And that's fine. That's how open source works with companies, you create something that benefits you but indirectly benefits others in exchange for receiving stuff that benefits you.
You do have the ability to sign and run your applications. That the iOS SDK.
That's not how copyright works. In US law there are 3 status you can have for a work:
a) You hold copyright, you can do pretty much whatever you want.
b) You have a redistribution license. That's a contract in essence which gives you some limited right to redistribute the work in whole or in part. Some aspects of this license come from the law, others automatically attach if you buy a copy; but generally they come from an explicit agreement. The GPLv3 claims to be a copyright license. Most US IP lawyers say that its actually not a license but what is called a "standard form" of a contract. That means a set of implied meanings and cultural assumptions that are used in a contract. Which is actually good for the Free Software Community since it means things like the FSF FAQ actually have legal weight.
But the important thing about standard forms is they apply whenever the written license is unclear about something. In the case of B's actions there is an explicit license that is not unclear.
i) B is agreeing by uploading to license Apple.
ii) Apple is not agreeing to abide by any terms of any license outside the Apple Store license.
iii) Ergo B cannot assert that Apple needs to provide special access.
c) You can be unlicensed which means you cannot redistribute.
My argument is that:
A is the copyright holder.
B got a license from A, which includes the right to relicense.
Apple has an explicit license from B. You can argue that B may not have the right to grant that license to Apple but that's B's violation not Apple's.
C is unlicensed until they have the SDK, once they have the SDK they are licensed.
Yes except for one thing. That's the same charge you would incur whether you want to install modified version or an unmodified version of B's source on your device. The GPLv3 says I can't require additional conditions, but its not an extra condition for installing B's binary. That's the charge B had to incur for example. Apple isn't charging C anything more than it charged B. Where is the extra condition for modification? There is nothing extra there, B's code is dependent upon a commercial piece of software to work. The is not an analogous situation to Tivo.
Lets eliminate the compiler issue and the Apple Store issue and make it even more general:
G writes a GPLv3 piece of software.
H writes a GPLv3 piece of software using G's code that requires commercial component X to run.
J sells commercial component X, owns copyright.
How is J bound by the GPLv3? J never contracted with G. J has no responsibility for G's code. As far as I can tell this is the heart of the disagreement, you are arguing that J has responsibilities under the GPLv3 and I'm trying to figure out the basis for those responsibilities. I can see a possible violation for H but I'm hard pressed to see how J is violating anything.
H may be violating G's license terms however. Its a bit unclear even there. For example the Linux kernel has binary blogs that require commercial hardware to run.
Now weaken it a bit:
G' writes a GPLv3 piece of software.
H' writes a GPLv3 piece of software using G's code that requires commercial component X to modify.
J' sells commercial component X, owns copyright.
Now this is less clear. Since H' is granting to everyone the ability to modify the code under the same terms he got it.
No its not that clear cut. You are trying to make this abstract. You don't violate copyright in the abstract, its violated in the specific. That's why I asked the question the way I did. The GPL is a license. Apple is bound by the license they got from B, whatever that is. If you want to argue that the GPL conflicts with Apple's license than the violator was B in granting Apple permission to redistribute via. the Apple store. Apple has an explicit license to redistribute under the terms of the Apple store.
Now I think what you are saying that B doesn't have an unencumbered copyright and thus couldn't grant Apple that explicit license. Which is possible, B is violating A's copyright in issuing that license. But then the infringing act is B's. Apple never engaged in an act they weren't specifically licensed to perform. So no I don't see where this obligation on Apple's part exists. B's acts, under your theory are fraud, but that fraud eliminates Apple's liability.
Now moving back to the more general question:
Yes it does:
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
And the SDK meets that criteria. With the SDK you can run modified versions of code on your device. Ergo Apple has already passed to everyone information about how they can run any code, providing it is compiled with XCode on any iPhone/iPad they choose. They have already met the criteria of providing this information across the board. The piece of software required to actually do this, is commercial not GPL. But I don't see anywhere the GPL bans you from requiring commercial software to actually compile your program. This was the point of the Visual Basic example.
Your point about you can create a Visual Basic compiler is possibly true, though I think you substantially underestimate the difficulty. Further of course you can unlock your device and run anything with the only objection being that Apple will no longer warranties it. Which is something the GPL specifically allows for, refusal to warranty modified versions.
So no I think there are a lot of problems with arguing that Apple is violating.
Finally in terms of the user suing, you have to claim that "Apple promised to abide by the GPL". But Apple never promises by any license for applications distributed by the application store. That's part of the general process. Again an exemption that B would have granted Apple. So if C were to sue Apple I can't see how B's license doesn't act as a shield.
The person who is violating the license under your theory is B, not Apple.
Under your theory of the GPLv3 do you believe you can ever redistribute a GPLv3 application which requires Visual Basic Ultimate to compile?
If no, I think you are being consistent.
If yes, then how is the situation any different? I'm still unclear how you see the SDK as being different than the paid compiler.
____
Now here is how I would respond. I'm not sure Apple is the one violating the license.
A creates some GPLv3 software.
B takes that GPLv3 software along with other software and releases an iOS application. B explicitly licenses Apple to redistribute under the terms of the Apple app store.
Apple redistributes making no changes but does add one cryptographic piece of data.
C buys the application at the app store. As already mentioned Apple does provide means for C to install modified code but they do have to buy the SDK to do it.
Now I would argue:
1) C clearly doesn't have the right to sue for copyright violation because C doesn't have copyright.
2) B clearly doesn't have the right to sue for copyright violation because B quite explicitly had to engage in activities for development which imply active consent to Apple's distribution form. Its impossible to develop an application for iOS that runs on any devices without using the provisioning system.
3) (A) might have a case but its hard to see how that case isn't against B rather than Apple.
How does A make a case against Apple?
So how does this not satisfy the GPL which was your claim?
You are mixing up two things:
a) Unlocking
b) Ability to run your own applications
Locked phones can run your own applications via. the iOS SDK. You can plug another compiler into XCode or reverse engineer the various security files. That's not illegal it is openly sold and distributed by Apple. Not only that you can distribute your applications to other specific iPhones, up to 98 of them. That has nothing to do with unlocking.
This is good news. This will do a lot to make trade much fairer. It also will be good for open source abroad.
Sure it does. Back before free compilers were the norm, people had to buy their compilers. Providing source does not require you to provide the compiler to execute that source. Effectively the iOS compiler is commercial. I can distribute my source code for that compiler, satisfying the GPL without needing to distribute the actual compiler itself.
Under your theory you couldn't have a GPLed Visual Basic application.
If the apps don't share a walled garden you have a lot complexity with intra app communications and signaling. Integration of applications is a major selling point. Just think about making drag and drop work between walled gardens.
As for the rest about security and just being harder. I agree.
Yes a normal iPhone has that option. There aren't developer iPhones. You buy the iOS SDK and add your device and install anything you have source for.
OK I stand corrected on that one. Good to know.
I agree with you. Though iOS isn't actually quite that strict. And I do think Macs will be tightened up some. But.... I don't think Macs will ever get nearly as tight as iOS systems which is where you and I are agreeing against GP.
The problem is circumvention. If you don't draw the boundaries broadly then people can easily circumvent. For example I can inherit your class X library. As my class Y. I can then use your X.a, X.b, X.c as my Y.a, Y.b, Y.c while keeping my replacement for X.d proprietary since its Y.d and not part of your code. The point of the GPL is to make it difficult to use GPL software and link in proprietary extensions.
As far as not copying, the problem is if your work is entirely based on another, wouldn't function without it, then its a derived work. This prevents someone from from changing the format and arguing that they never copied. Say for example I took your book and:
a) render it in a different font so the binaries don't match. For example I go ASCII to EBCDIC.
b) translate it into a new language
c) translate it into a new medium, like a make play based on it.
All of those things are considered copyright violations. And even if I
d) Create a new book whose plot elements crucially depend on yours: http://en.wikipedia.org/wiki/The_Wind_Done_Gone
http://www.macworld.co.uk/news/index.cfm?NewsID=14663&Page=1&pagePos=8
The hope is that (d) is more expensive than (b). When its not, for similar quality open source has rarely been able to win.
Well you see the problem.
Walled garden for office .....
Walled garden for Adobe apps (which have scripting)
Walled garden for Quark
Walled garden for iOS development
This is exactly what happened to Microsoft with NT4 in terms of security. The "OS" was very secure but the applications, including things like the shell, were all on another layer which wasn't. Their applications, including things like IIS were incompatible with their security model. That strategy is a mess.
Apple is able, so far to pull it off because iPhones aren't used for anything complex. They are able to pull it off because roughly 100% of iPad users also own a laptop. In other words these things are limited secondary and tertiary devices.
Now what they might do is have two entirely different machines. One that is "professional grade" that is less locked down and one that is consumer grade. Apple has always wanted a larger differentiation between the macbook and the macbook pro and having the pro be able to run thousands of applications the macbook can't.....
Read the context. We are talking in terms of a hypothetical where Macs are the ones being locked down. You aren't disagreeing with my point you are agreeing that Macs support for iOS is what makes this possible.