My main point is not to argue for more copyright; it is to say that, like Rodney Dangerfield, API designers "no respect". :-)
http://en.wikiquote.org/wiki/R...
Granted, so many APIs suck for all the reasons the Google engineer said they were hard to make that it's understandable why people don't respect them. It's like how general tankers in World of Tank have so little respect for Artillery (another hard job). :-)
http://forum.worldoftanks.eu/i...
"Arty seems like the best choice to blame at for some idiot players who have no idea where to go in battle and cock up the whole battle. Arty is not air strike, it takes time to aim and reload, most importantly, i cant shoot at target that i cant even see on my map. For those noobs who always blame at other player in order to feel good abt their own IQ, stop pissing ppl off and learn how to play."
I get the feeling you perhaps have not designed any complex software more than one, especially software libraries intended to be supported for years? Otherwise you might not so easily dismiss the creative challenge of creating good APIs. Sure, implementations may require hard work up front, but a sucky API generally creates massive amounts of hard work for everyone else for years to come. A bad API in that sense is much, much worse than a bad implementation, which as Linux shows, can be fairly easily replaced eventually. While it may look trivial, creating a good API demands immense amounts of understanding of the problem space, the limits of computers, the user community, and so on, including imagining future needs. And choosing the right simplification can be the hardest, most creative act of all -- which is just as true for programmers as it is for painters, novelists, architects, screenwriters, illustrators, actors, and so on.
Actually, it is more and more rare that someone can get anyone to pay something for what want to get paid for in the USA. See for example, from the 1990s by the then Vice Provost of Caltech
https://www.its.caltech.edu/~d...
"The period 1950-1970 was a true golden age for American science. Young Ph.D's could choose among excellent jobs, and anyone with a decent scientific idea could be sure of getting funds to pursue it. ... By now, in the 1990's, the situation has changed dramatically. ..."
Sure, you can always point to funding successes, but as a successful percentage of aspirants, the odds get longer and longer with more qualified people and less global-scale opportunities as big winners dominate the landscape.
BTW, people did get funding for creating triple stores and similar thing, just not me (not that I ever tried to raise funding for the Pointrel System, in part because I wanted it to be free and open source).
http://en.wikipedia.org/wiki/T...
Besides, in a world of so much potential plenty, why make people justify what they want to do based on the possibility that "investors" who are already financially obese can monopolize it for a profit? Also, in a supposed democracy, why should a system like "Freedombox" get the left-overs while phones and tablets full of essentially spyware get vast amounts of money poured into them?
http://freedomboxfoundation.or...
But regardless of funding issues, this whole case shows how valuable the Java API had become, given Google took such pains to use it exactly... Part of the value of that API was the immense amounts of marketing put into Java by IBM and Sun for a decade (given Java sucked at the start, and is not that great even now although it has become OK-ish after vast investments). For good or bad, Oracle bought that Java asset, including community good will and everyone's investment in learning that API and making software that was dependent on it (even if much of the better part of Java down to aspects of Swing's API and the hotspot compiler was a rip-off of Smalltalk, with Sun hiring a bunch of ex-Smalltalkers).
Just because a system needs multiple parts to work does not mean one part of it (the API) can be dismissesed as unimportant or uncreative. Interfaces are very important, even if many people don't appreciate that fact.
Still, it is true that good interfaces hopefully become standards, and proprietary standards are very problematical in a supposed free market. Proprietary standards can ultimately be very costly to a society. The internet and the web succeed in large part because it was an *open* standards.
However, by contrast, due to marketing power from IBM and many other factors, Microsoft succeeded in dominating the desktop with a proprietary standard. I'm actually surprised how far WINE has gotten given Microsoft; parallels there to this case would be of interest (same with Mono).
http://en.wikipedia.org/wiki/W...
"Microsoft has not made public statements about Wine."
Related by Manuel De Landa:
"Meshworks, Hierarchies, and Interfaces"
http://www.t0.or.at/delanda/me...
"Certain standardizations, say, of electric outlet designs or of data-structures traveling through the Internet, may actually turn out to promote heterogenization at another level, in terms of the appliances that may be designed around the standard outlet, or of the services that a common data-structure may make possible. "
As a developer, years ago I rooted for Apple to lose the look-and-feel lawsuit that threatened to make creating good user interfaces impossible -- but, I would never say creating a good user interface was not a creative act involving a lot of hard work and researcher and inspiration and reflection and trial-and-error.
http://en.wikipedia.org/wiki/A....
"Apple Computer, Inc. vs. Microsoft Corporation, 35 F.3d 1435 (9th Cir. 1994) was a copyright infringement lawsuit in which Apple Computer, Inc. (now Apple Inc.) sought to prevent Microsoft and Hewlett-Packard from using visual graphical user interface (GUI) elements that were similar to those in Apple's Lisa and Macintosh operating systems.[1] The court ruled that, "Apple cannot get patent-like protection for the idea of a graphical user interface, or the idea of a desktop metaphor [under copyright law]...".[2] In the midst of the Apple v. Microsoft lawsuit, Xerox also sued Apple alleging that Mac's GUI was heavily based on Xerox's.[3] The district court dismissed Xerox's claims without addressing whether Apple's GUI infringed Xerox's.[4] Apple lost all claims in the Microsoft suit except for the ruling that the trash can icon and folder icons from Hewlett-Packard's NewWave windows application were infringing. The lawsuit was filed in 1988 and lasted four years; the decision was affirmed on appeal in 1994,[2] and Apple's appeal to the U.S. Supreme Court was denied."
However, that may have been a rare bit of sanity about copyright in the courts. Copyright rulings generally are pretty adhoc. There is little consistency to them according to people like Alan Kay who have been expert witnesses in a variety of cases. This amicus brief is rolling the dice, and we don't know who will win. If APIs get ruled as proprietary, which they might considering the Google presentation I linked to, then the whole computing landscape may change overnight generally much for the worse.
Copyright has become overly broad IMHO, and, for example, right now try to popularize a story using the characters from Harry Potter or Frozen and see how far you get (if you are financially successful) before getting sued. Granted, some places look the other way about fan fiction, but if you make serious money, you can expect a legal attack by copyright owners claiming under US law to control things like character names and related concepts. What real difference is that from API names and expected exceptions and structure contents and so so as a large body of interrelated stuff like the Java API?
http://www.nolo.com/legal-ency...
"Fictional characters can be protected separately from their underlying works as derivative copyrights, provided that they are sufficiently unique and distinctive--for example, James Bond, Fred Flintstone, Hannibal Lecter, and Snoopy. Judge Learned Hand established the standard for character protection in Nichols v. Universal Pictures Corp., 45 F.2d 119 (2d Cir. 1930), when he stated that, "... the less developed the characters, the less they can be copyrighted; that is the penalty an author must bear for marking them too indistinctly." ... Exploitation of fictional characters is a crucial source of revenue for entertainment and merchandising companies. Characters such as Superman and Mickey Mouse are the foundations of massive entertainment franchises and are commonly protected under both copyright and trademark law."
That's an example of why I feel the Supreme Court may side with Oracle.
I'm not saying that situation is morally right or good public policy or good for "progress of the useful arts"; I feel it is not. But I'm suggesting that what many people are saying here, including the amicus brief, seems inconsistent to me (including denying the creativity of API design, which is at the heart of much good software development), and thus the outcome is risky. And rather than address the issue and accept that a well-designed interface is a creative act while admitting overly-broad copyright has become counter-productive (at least to the average software developer), people try to dismiss that, as you seem to me to be doing here.
Let me put it another way to show how API design is at the heart of much good software development. Forth exemplifies incremental modular design, where you build generally from the bottom up, creating Forth words that are usually a composite of just a few other words, and then building new words with the previous words you made. So much of the value created in a Forth program is in the way you create words as an API for the words in layers above, and designing useful words is the supreme art of Forth development. But how can you disentangle the act of Forth programming from API creation?
http://lambda-the-ultimate.org...
"What's interesting specifically about Forth is the low level machinery required to get it to work - or the lack of it. That's what makes a well documented minimal Forth like this quite interesting. Writing a Forth from the ground up is a fascinating experience. After just a few lines of assembler you're defining Forth words and writing hybrid Forth/Assembler. I know of no other practical language that can be bootstrapped so quickly."
Solving problems by making APIs that define mini-languages in terms of internal functions is of course true for almost any computer language, but the emphasis on creating an API to create solutions in a problem space may be less obvious in some cases than Forth. To say API creation is not creative is ultimately to deny the creativity needed for much of real programming. In practice, any significant "implementation" to solve a complex problem is built on layers of custom-made APIs almost all the way down... Granted, how you sequence API calls is not making an API, but invariably that sequence of API calls becomes itself an PI endpoint for some other layer. You just can't neatly separate making an API from making a sequence of instructions in practice in any significant piece of software; the two are intertwined in the creative act.
The public policy of whether other people should be able to call that code without your permission (GPL and derived works), or duplicate the function names and expected behaviors without your permission even with clean room implementations (this case with Oracle vs. Google), is ultimately a political question of "fair use" and should be independent of the issue of "creativity" IMHO. I'm still saddened to see how little appreciation many slashdotters seem to have for programming as a craft generally requiring a poetical mindset to do well.
http://www.i-programmer.info/n...
http://computinged.wordpress.c...
http://www.paulgraham.com/knut...
"My feeling is that when we prepare a program, it can be like composing poetry or music; as Andrei Ershov has said [9], programming can give us both intellectual and emotional satisfaction, because it is a real achievement to master complexity and to establish a system of consistent rules."
By me: "[unrev-II] Poetry and Knowledge Management (was Jack's Use Case)"
http://www.dougengelbart.org/s...
Or:
http://en.wikiquote.org/wiki/P...
"The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.... Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. [â¦] The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be. (Fred Brooks (1975) The Mythical Man-Month: Essays on Software Engineering Page 7)"
Choice of words to express emotions and ideas is a poet's stock in trade, just like picking good names for methods of doings things is an essential part of the creative act of programming. I've read of one person who hires programmers who always asks programmers who their favorite poets are...