Linked by Thom Holwerda on Thu 31st May 2012 21:41 UTC
Legal And thus, it ends. Despite a never-ending stream of doom and gloom from Oracle/Microsoft-funded 'pundits' regarding Google and Android (six hundred billion trillion gazillion eurodollars in damages!!1!), judge Alsup has just squashed all of Oracle's chances with a ruling that is good news for those of us who truly care about this wonderful industry: APIs are not copyrightable. Alsup: "To accept Oracle's claim would be to allow anyone to copyright one version of code to carry out a system of commands and thereby bar all others from writing their own different versions to carry out all or part of the same commands. No holding has ever endorsed such a sweeping proposition." Supreme Court, Ellison?
Thread beginning with comment 520238
To read all comments associated with this story, please click here.
What about template libraries?
by MollyC on Thu 31st May 2012 23:02 UTC
MollyC
Member since:
2006-07-04

With C++ template libraries, the API and source code are one and the same. If the API can't be copyrighted, then C++ template libs can't be copyrighted. (Which means that all GPL template libraries are now public domain, and can be used without honoring GPL rules.)

Reply Score: -4

acobar Member since:
2005-11-15

Actually you should have an implementation substantially different, as it is not because they are templates that they lack the internal functionality, It is just that it is constructed on generic format.

Reply Parent Score: 6

modmans2ndcoming Member since:
2005-11-09

you do realize there is a difference between developing and using right?

Reply Parent Score: 6

kwan_e Member since:
2007-02-18

With C++ template libraries, the API and source code are one and the same. If the API can't be copyrighted, then C++ template libs can't be copyrighted. (Which means that all GPL template libraries are now public domain, and can be used without honoring GPL rules.)


That's not how it works.

Reply Parent Score: 3

WereCatf Member since:
2006-02-15

With C++ template libraries, the API and source code are one and the same. If the API can't be copyrighted, then C++ template libs can't be copyrighted.


You're confusing various things here. First of all source code does not equal API. Secondly, the source code is still copyrightable even if the API isn't.

(Which means that all GPL template libraries are now public domain, and can be used without honoring GPL rules.)


See above.

Edited 2012-06-01 00:19 UTC

Reply Parent Score: 12

cyrilleberger Member since:
2006-02-01

Easy:

template<class _T_> bool rangeCheck(const _T_& obj, int fromIndex, int toIndex);

is not copyrightable. But the body of:

template<class _T_> bool rangeCheck(const _T_& obj, int fromIndex, int toIndex)
{
if(fromIndex > toIndex) {
std::cerr << "fromIndex(" << fromIndex
<< ") > toIndex(" << toIndex
<< ")" << std::endl;
}
if(fromIndex < 0)
{
std::cerr << "Index out of bound." << std::endl;
}
if(toIndex > obj.size())
{
std::cerr << "Index out of bound." << std::endl;
}
}

is copyrightable.

same rule apply if you have an inline variant of the templated function in your header:

inline bool rangeCheck(const std::list<int>& obj, int fromIndex, int toIndex) { ... }

In other word, do not confuse headers with APIs. APIs is only the functions name and its parameters. And code in a header does not magically become an API, it remains code.

(My appologies to OSNews for exposing them to Oracle copyright trolling by inserting very valuable Oracle copyrighted material in my comment)

Reply Parent Score: 9