Grammar, Licensing
An interesting issue came up on the Grammarians list (the The Ruby Grammar Project mailing list) today. One person plugged a partial Ruby grammar they’d done, and of course the next question was “what license is it under”. But that’s kind of a strange question to have to ask, isn’t it?
The grammar, after all, is dictated primarily by the shape of the language you’re trying to match. For a simple enough language, your only degree of freedom may be the names you decide to give the productions.
Now, Ruby is a subtle and complex enough language that doing a proper grammar for it is a serious creative enterprise, but it got me thinking… one of the effects of metaprogramming and functional languages is that the actual program looks more and more like a pure formal specification of its function.
I recently wrote some computational geometry code in Haskell; in one module, the most interesting function was about 30 lines long and consisted entirely (save a couple if statements at the bottom) of formulae lifted directly from a textbook.
As is my habit, there’s a copyright and license statement at the top of the module, but I wonder whether my copyright has any real meaning in this case. If it does, should it? How does copyright work in practice when the notionally copyrightable embodiment of an idea becomes less and less distinguishable from its purest description?
I think we’re a long way away yet from the point where this could be an issue like software patents. Programming in general simply hasn’t advanced far enough yet. But it’s something worth thinking about, and perhaps keeping an eye on.
I wonder if this sort of thing is already an issue for particularly specialized and formal programming environments like MatLab, Mathematica, etc.?