3 ms·
> Copying a functional spec - like for SQL - is fine. But copying implementation code is not (unless that's the only way it can be implemented). Why are specs
by speedplane 7y ago
> Copying a functional spec - like for SQL - is fine. But copying implementation code is not (unless that's the only way it can be implemented).
Why are specs fundamentally different than implementations?
- wtallis 7y agoI think by "Copying a functional spec" he meant to say implementing someone else's functional spec, rather than just re-publishing it. So that what's being copied is not the copyrightable text of the spec, but the non-copyrightable abstract ideas described by the spec.
- speedplane 7y ago> I think by "Copying a functional spec" he meant to say implementing someone else's functional spec, rather than just re-publishing it. So that what's being copied is not the copyrightable text of the spec, but the non-copyrightable abstract ideas described by the spec. Implementing an API spec is not just using the "abstract ideas" in the spec. It requires copying the specific text of the API: a function named DoSomething will incompatible with one named do_something. I don't think that's a valid way to distinguish copying APIs and implementation. On a purely theoretical basis, I do think APIs could be copyrightable, I don't think there is a valid way to distinguish them from implementation. The main argument against copyrighting APIs is practical: everyone has been doing it for decades, and changing the status-quo will be disruptive. Another practical reason is that copyrighting APIs will decrease competition by impeding companies from creating better drop-in competitor products to established players. But this is really an argument against all software copyright, not just API copyrights.