Realize what the cost structure of a company like Facebook is - the amount they pay their engineers, marketing personnel, and so on is significantly more than their amortized server expenses and server operating expenses
This is *much* less true for a company with tens of thousands of servers than it is for a company with hundreds of servers. As a consequence writing heavily used code in C++ has much greater benefits for large Internet companies than for small ones.
Latency is a different question than efficiency. If your page generation efficiency is bad, on a small setup the difference may be imperceptible. On a large installation, i.e. one with a large number of servers dedicated to page generation, the efficiency of those servers makes a big difference. Holding latency constant, in a large installation less efficient page generation means more servers. In a small installation, not so much.
the author...has no clue about what uses most time (waiting for database results mostly)
Like many here, you are confusing page delivery latency with total processor overhead. If you need more than one processor for page processing, how many you need has little or nothing to do with how much latency there is elsewhere in the system.
Yes. There are a lot of "smart" people who are horrible engineers, and college CS departments are full of them and turn out graduates with the same shortcomings.
Ideally, "computer science" should become a sub-specialty of mathematics, all the CS departments in the world should be changed into software engineering departments, and all full professors in the department be required to have ten years of real world (read: non-academic) software or hardware engineering experience.
For something like facebook, I bet a page is rendered once for every ~10 times it is viewed by someone
That is less true for an application like Facebook than just about any application imaginable. All the common pages are live or nearly live feeds customized on a user specific basis. Unless I view the same page (without updates) ten times within ten minutes what you suggest is extremely unlikely to be true.
It is serving up pages containing tons of customized data. This is not proessor-bound
You are confusing total overhead and total latency. Latency is not the issue here, but rather how many processors you need to handle the load. If a language runs ten times as slow, it will take ten times as many processors to service a capacity limited installation, even if the difference in end user latency is imperceptible.
All large installations are CPU bound, otherwise they wouldn't add more CPUs, let alone tens of thousands of them.
In terms of total page delivery latency for a typical I/O bound application, sure. In terms of actual cpu usage, 10x overhead for any dynamically typed language is to be expected. If the application servers are CPU bound, that means a lot more servers.
In addition, dynamic languages do not compile or JIT well, compared to statically typed languages, which severely limits the overhead reduction achievable.
PHP is a dynamically typed language like Perl or Python. As such, in general it *cannot* be compiled to run as fast as code written in a statically typed language like C++. Look up the state of the art for JIT of dynamic languages some time. Works pretty well on numeric calculations, on everything else not so much.
Now of course that may not make much of a difference if the environment concerned isn't really limited by the PHP execution speed.
Whether one likes Apple or not, they are within their rights to sell whatever they want with whatever restrictions on it they choose
If Apple enters into a legally enforceable, properly formed contract with the end user, sure. However, the enforceability of retail EULAs with regard to use restrictions is subject to some considerable doubt.
they've been clearly warned by the judge in the case that distributing Rebel EFI will get them into trouble
Not true. They have been warned by the judge that distributing Rebel EFI may get them into trouble, if such distribution turns out to be a violation of Apple's rights.
They ripped off a FOSS project
Apparently, they legally ripped off a public domain project, because the original authors distributed the software without establishing a license. Not only that, with most FOSS licenses, they would perfectly be within their rights to re-brand and re-distribute, subject to terms such as source release in some cases. The FOSS community does this all the time. It is called "forking".
In other words, the model Blockbuster uses, except for a longer rental period. I wonder why copyright owners haven't already tried doing this.
If a sane view of the enforcability of EULAs prevails, a Blockbuster model is precisely what software companies will have to adopt, if they really care enough about the additional restrictions they want to enforce to make it worth it to them. Most of them may not.
Another possibility is to encrypt the executable and lease the right under 17 USC 1201 to decrypt it.
If the user understands that what they are purchasing in the second instance is a lease, then sure.
Software licenses that give you rights to do things that you would otherwise not have the right to do are most definitely enforceable. It is "use" licenses whose enforcability is a matter of some considerable dispute, with courts deciding both ways. Until the law becomes settled in this matter - which will likely take a Supreme Court decision or an act of Congress, I think the traditional argument that a retail end user actually owns a copy of the software they purchased much the same way one owns a copy of a book is more persuasive.
As someone else said, a license that says we grant you the right to make copies of this book on Tuesdays and Thursdays is enforceable. A license that says you can only read this book on Tuesdays and Thursdays - probably not. If they want to do that, they should lease the book to the end user, not sell it to them. Leasing means (1) for a limited time and (2) without transfer of ownership.
If the "upgrade" edition installs or is installable on a machine without a previous version of the software or a copy thereof, copyright law in no way restricts the ability of an end user to purchase, install, and use the upgrade edition on a machine without prior ownership of a previous edition.
In addition, no one needs to accept a license of any kind to use a copy of software they have purchased at retail, although there is some legal controversy over that.
You are assuming that a "license" can take away rights that the owner of a copy already has. It cannot. Licenses only grant rights the licensee does not already have, such as to make and distribute derived works and adaptations. No one needs a license to use something that they already own, and hence in most jurisdictions, such license terms are gratuitous, null, and void.
If software manufacturers want such an ability at retail, they should get into the software leasing or rental business rather than pretending they are in the software licensing business, when in actual fact at retail they simply sell physical media with no practical difference from the sale of books or paintings.
I never cease to be amazed how many people around here think that EULAs are legally binding without showing the least acquaintance with the legal issues involved. The short answer is, no they are not, although a few courts in a few areas have held that they are, to great controversy generally speaking. No one needs a license to use that which they own, and the idea that end users do not own a copy of the software they purchased at retail is extremely dubious. More here.
All that is needed to make software leases legitimate are two things:
(1) That they be for a limited time (2) That the physical media remain the property of the lessor
An arrangement that is not for a limited time is not a lease, but rather a sale or a grant. There is no predecent in copyright law to make some sort of metaphysical distinction between the copy of software and the medium it is encoded on. You can't sell the media and retain ownership of the copy. When you sell the media the copy comes along for the ride. The media, as distributed, *is* the copy. See here.
It is not against the law to decline to accept a gratuitous license. No one needs to accept a EULA to use a copy that they have purchased. So many courts have held, following traditional legal precedents, anyway. The idea that EULAs are independently binding is a legal fiction, basically wishful thinking on the part of the software industry.
Of course it is a *real* violation of the law to make an illegal copy of the software.
You can't "steal" code that is in the public domain, and there is some considerable indication that the code concerned here was (inadvertently) so placed. See here.
If Netkas didn't want other people to use his code, he should have started out with a non-free, commercial use restricted license from the very beginning. All open source licenses in the normal sense of the term allow commercial use of the sort he is complaining about, under generally reasonable terms and conditions (such as source release). Without a historical license, he may not even get that, and that is a shame.
That is just a restatement of parts of the DMCA. The DMCA is already the law of the land. The question is whether there are legitimate defenses here. 17 USC 117(a) appears to provide an absolute exception to the DMCA for the very purpose under dispute here, namely an end user making an adaptation as an essential step in the utilization of a copy of a computer program on a machine.
There may be other legal arguments as well, namely whether Apple's protection "effectively controls access" to Mac OS X. The majority of the installation media isn't exactly encrypted, is it? That is a secondary, and perhaps weaker argument, however.
The judge is just restating language from the DMCA. There are defenses that can be used here, and the 117(a) defense is the most obvious one. 17 USC 117(a) says that "it is not an infringement" for the owner of a copy of a program to "make an adaptation" as an "essential step" in the utilization of a computer program in conjunction "with a machine".
It is a pretty tough to argue that the distribution of a device whose only purpose is to allow end users to do what they are explicitly allowed to do is itself illegal. In other words, 117(a) appears to be a clear exception to any and all claims under the DMCA. That is what "not an infringement" means - it is an absolute exception here.
Of course the judge is abusing his power here, by trying to intimidate Psystar into getting judicial permission to do something that he himself has not determined is illegal yet. That is not the way the legal system works. The judge doesn't have standing. Psystar has to continue to distribute Rebel EFI, Apple has to sue, and then the judge has the authority to review the issue on the merits - and have his decisions appealed if they are so blatantly one sided as he is pre-announcing for all the world to see that they likely will be, without so much as an argument.
It is certainly true that Apple can require you to return both the software and the hardware to get a refund. They don't need a EULA to do that.
The issue about EULAs is different - it is whether the end user must accept them to legally use the software they purchased. That proposition is in some considerable doubt. Under traditional principles of law, it is a slam dunk to the contrary. You don't need a license to use that which you own.
If the university you received a CS/CE degree from didn't bother to make sure you learned C or C++ or a similarly low level language to a reasonable degree of competency, taught you what is necessary to write a device driver or other system code, basic assembly language, and how to implement a compiler, (among other things) your degree is probably not worth the paper it is printed on - assuming you want a job in the real world, that is.
No, I am not quite that stupid. What I am suggesting is that it is not entirely clear whether 117(a) overrides section 1201 or not. The DMCA is one of the most ambiguous statutes ever written.
And indeed, this question is entirely germane to whether Psystar or another company can be in this business at all. If 117(a) does not apply to the Rebel EFI, it sounds like it may very well be a DMCA violation.
(Note: My other comment apparently got lost somewhere).
This case did not turn on the validity of the EULA, and that is a good thing, because the EULA's days are rightfully numbered - bizarre legal fiction that they are.
Realize what the cost structure of a company like Facebook is - the amount they pay their engineers, marketing personnel, and so on is significantly more than their amortized server expenses and server operating expenses
This is *much* less true for a company with tens of thousands of servers than it is for a company with hundreds of servers. As a consequence writing heavily used code in C++ has much greater benefits for large Internet companies than for small ones.
Latency is a different question than efficiency. If your page generation efficiency is bad, on a small setup the difference may be imperceptible. On a large installation, i.e. one with a large number of servers dedicated to page generation, the efficiency of those servers makes a big difference. Holding latency constant, in a large installation less efficient page generation means more servers. In a small installation, not so much.
the author...has no clue about what uses most time (waiting for database results mostly)
Like many here, you are confusing page delivery latency with total processor overhead. If you need more than one processor for page processing, how many you need has little or nothing to do with how much latency there is elsewhere in the system.
Yes. There are a lot of "smart" people who are horrible engineers, and college CS departments are full of them and turn out graduates with the same shortcomings.
Ideally, "computer science" should become a sub-specialty of mathematics, all the CS departments in the world should be changed into software engineering departments, and all full professors in the department be required to have ten years of real world (read: non-academic) software or hardware engineering experience.
For something like facebook, I bet a page is rendered once for every ~10 times it is viewed by someone
That is less true for an application like Facebook than just about any application imaginable. All the common pages are live or nearly live feeds customized on a user specific basis. Unless I view the same page (without updates) ten times within ten minutes what you suggest is extremely unlikely to be true.
It is serving up pages containing tons of customized data. This is not proessor-bound
You are confusing total overhead and total latency. Latency is not the issue here, but rather how many processors you need to handle the load. If a language runs ten times as slow, it will take ten times as many processors to service a capacity limited installation, even if the difference in end user latency is imperceptible.
All large installations are CPU bound, otherwise they wouldn't add more CPUs, let alone tens of thousands of them.
In terms of total page delivery latency for a typical I/O bound application, sure. In terms of actual cpu usage, 10x overhead for any dynamically typed language is to be expected. If the application servers are CPU bound, that means a lot more servers.
In addition, dynamic languages do not compile or JIT well, compared to statically typed languages, which severely limits the overhead reduction achievable.
PHP is a dynamically typed language like Perl or Python. As such, in general it *cannot* be compiled to run as fast as code written in a statically typed language like C++. Look up the state of the art for JIT of dynamic languages some time. Works pretty well on numeric calculations, on everything else not so much.
Now of course that may not make much of a difference if the environment concerned isn't really limited by the PHP execution speed.
Whether one likes Apple or not, they are within their rights to sell whatever they want with whatever restrictions on it they choose
If Apple enters into a legally enforceable, properly formed contract with the end user, sure. However, the enforceability of retail EULAs with regard to use restrictions is subject to some considerable doubt.
they've been clearly warned by the judge in the case that distributing Rebel EFI will get them into trouble
Not true. They have been warned by the judge that distributing Rebel EFI may get them into trouble, if such distribution turns out to be a violation of Apple's rights.
They ripped off a FOSS project
Apparently, they legally ripped off a public domain project, because the original authors distributed the software without establishing a license. Not only that, with most FOSS licenses, they would perfectly be within their rights to re-brand and re-distribute, subject to terms such as source release in some cases. The FOSS community does this all the time. It is called "forking".
In other words, the model Blockbuster uses, except for a longer rental period. I wonder why copyright owners haven't already tried doing this.
If a sane view of the enforcability of EULAs prevails, a Blockbuster model is precisely what software companies will have to adopt, if they really care enough about the additional restrictions they want to enforce to make it worth it to them. Most of them may not.
Another possibility is to encrypt the executable and lease the right under 17 USC 1201 to decrypt it.
If the user understands that what they are purchasing in the second instance is a lease, then sure.
The article is not exactly well documented, unfortunately. Apparently, the software was inadvertently placed into the public domain. See here.
If not, I would like to see what the original terms of the license were, if there was such a license. Anyone?
Software licenses that give you rights to do things that you would otherwise not have the right to do are most definitely enforceable. It is "use" licenses whose enforcability is a matter of some considerable dispute, with courts deciding both ways. Until the law becomes settled in this matter - which will likely take a Supreme Court decision or an act of Congress, I think the traditional argument that a retail end user actually owns a copy of the software they purchased much the same way one owns a copy of a book is more persuasive.
As someone else said, a license that says we grant you the right to make copies of this book on Tuesdays and Thursdays is enforceable. A license that says you can only read this book on Tuesdays and Thursdays - probably not. If they want to do that, they should lease the book to the end user, not sell it to them. Leasing means (1) for a limited time and (2) without transfer of ownership.
If the "upgrade" edition installs or is installable on a machine without a previous version of the software or a copy thereof, copyright law in no way restricts the ability of an end user to purchase, install, and use the upgrade edition on a machine without prior ownership of a previous edition.
In addition, no one needs to accept a license of any kind to use a copy of software they have purchased at retail, although there is some legal controversy over that.
You are assuming that a "license" can take away rights that the owner of a copy already has. It cannot. Licenses only grant rights the licensee does not already have, such as to make and distribute derived works and adaptations. No one needs a license to use something that they already own, and hence in most jurisdictions, such license terms are gratuitous, null, and void.
If software manufacturers want such an ability at retail, they should get into the software leasing or rental business rather than pretending they are in the software licensing business, when in actual fact at retail they simply sell physical media with no practical difference from the sale of books or paintings.
I never cease to be amazed how many people around here think that EULAs are legally binding without showing the least acquaintance with the legal issues involved. The short answer is, no they are not, although a few courts in a few areas have held that they are, to great controversy generally speaking. No one needs a license to use that which they own, and the idea that end users do not own a copy of the software they purchased at retail is extremely dubious. More here.
All that is needed to make software leases legitimate are two things:
(1) That they be for a limited time
(2) That the physical media remain the property of the lessor
An arrangement that is not for a limited time is not a lease, but rather a sale or a grant. There is no predecent in copyright law to make some sort of metaphysical distinction between the copy of software and the medium it is encoded on. You can't sell the media and retain ownership of the copy. When you sell the media the copy comes along for the ride. The media, as distributed, *is* the copy. See here.
It is not against the law to decline to accept a gratuitous license. No one needs to accept a EULA to use a copy that they have purchased. So many courts have held, following traditional legal precedents, anyway. The idea that EULAs are independently binding is a legal fiction, basically wishful thinking on the part of the software industry.
Of course it is a *real* violation of the law to make an illegal copy of the software.
You can't "steal" code that is in the public domain, and there is some considerable indication that the code concerned here was (inadvertently) so placed. See here.
If Netkas didn't want other people to use his code, he should have started out with a non-free, commercial use restricted license from the very beginning. All open source licenses in the normal sense of the term allow commercial use of the sort he is complaining about, under generally reasonable terms and conditions (such as source release). Without a historical license, he may not even get that, and that is a shame.
That is just a restatement of parts of the DMCA. The DMCA is already the law of the land. The question is whether there are legitimate defenses here. 17 USC 117(a) appears to provide an absolute exception to the DMCA for the very purpose under dispute here, namely an end user making an adaptation as an essential step in the utilization of a copy of a computer program on a machine.
There may be other legal arguments as well, namely whether Apple's protection "effectively controls access" to Mac OS X. The majority of the installation media isn't exactly encrypted, is it? That is a secondary, and perhaps weaker argument, however.
The judge is just restating language from the DMCA. There are defenses that can be used here, and the 117(a) defense is the most obvious one. 17 USC 117(a) says that "it is not an infringement" for the owner of a copy of a program to "make an adaptation" as an "essential step" in the utilization of a computer program in conjunction "with a machine".
It is a pretty tough to argue that the distribution of a device whose only purpose is to allow end users to do what they are explicitly allowed to do is itself illegal. In other words, 117(a) appears to be a clear exception to any and all claims under the DMCA. That is what "not an infringement" means - it is an absolute exception here.
Of course the judge is abusing his power here, by trying to intimidate Psystar into getting judicial permission to do something that he himself has not determined is illegal yet. That is not the way the legal system works. The judge doesn't have standing. Psystar has to continue to distribute Rebel EFI, Apple has to sue, and then the judge has the authority to review the issue on the merits - and have his decisions appealed if they are so blatantly one sided as he is pre-announcing for all the world to see that they likely will be, without so much as an argument.
It is certainly true that Apple can require you to return both the software and the hardware to get a refund. They don't need a EULA to do that.
The issue about EULAs is different - it is whether the end user must accept them to legally use the software they purchased. That proposition is in some considerable doubt. Under traditional principles of law, it is a slam dunk to the contrary. You don't need a license to use that which you own.
If the university you received a CS/CE degree from didn't bother to make sure you learned C or C++ or a similarly low level language to a reasonable degree of competency, taught you what is necessary to write a device driver or other system code, basic assembly language, and how to implement a compiler, (among other things) your degree is probably not worth the paper it is printed on - assuming you want a job in the real world, that is.
This is a *big* problem.
No, I am not quite that stupid. What I am suggesting is that it is not entirely clear whether 117(a) overrides section 1201 or not. The DMCA is one of the most ambiguous statutes ever written.
And indeed, this question is entirely germane to whether Psystar or another company can be in this business at all. If 117(a) does not apply to the Rebel EFI, it sounds like it may very well be a DMCA violation.
(Note: My other comment apparently got lost somewhere).
I agree. The DMCA is perversely broad, in a way that has nothing to do with copyright protection. (Mod parent up)
This case did not turn on the validity of the EULA, and that is a good thing, because the EULA's days are rightfully numbered - bizarre legal fiction that they are.