The Need for an Open Research License
Posted 31 Jan 2002 at 17:52 UTC by exa
I'm a computer scientist. I'm very fond of free software as it helps
me to use my machine to the fullest possible extent. It is also a bless
when writing research code, free software will almost always cover the
basics for you. A computer scientist can handle most of the issues
that would be difficult to accomplish in a proprietary operating system
reliably and rapidly.
It is a frequent extrapolation in the free software community to liken
research to free software: all research software should be released
as free software.
In this article, I argue that research code has very different
requirements from free software (ie GNU/Linux systems) and propose
that a license suited to the needs of a researcher should be crafted.
Now that my Msc. thesis is completed I wonder which parts of it
I should release as free software. I need a license that will
help me keep the research open. I wouldn't like my research being
worked on behind closed doors.
In fact, that is what makes research different from commodity software.
GPL is designed for generally useful software thus allows for private
modifications of all sorts. That makes a lot of practical sense, as
many people will need to modify the software for their own use.
Nevertheless, if I GPL a research code somebody will be able to
1) Extend my work in a journal paper, and not even talk about the code
or the license.
2) Use my work as a service, say on the WWW without ever making the
code freely available.
Moreover, my software is not generally useful software. It isn't an
operating system, a command line shell, a compiler, or a web server.
It is a very specific piece of code that can only be used and understood
by experts. And I intend to keep it that way for a long time (say 3 years)
It is an orthogonal matter whether a work in computer science may
have any practical use. As Dijkstra said, computer science is no more
about computers than astronomy is about telescopes. Much research software
does not even have a slight connection to the real world.
That said, researchers have unique requirements that we should consider.
First of all, a researcher does a piece of work for recognition. Second,
it's the results that matter not the software itself per se.
Third and most importantly, being able to maintain scientific practice
is beneficial for both the scientist and science in general. Some scientists,
like me, believe that is possible through making scientific process more
open.
I'm cutting the article here, as my goal is to collect feedback from
fellow hackers. What kind of a license would you deem appropriate for
the requirements of a researcher who favors openness in science?
Bogus., posted 31 Jan 2002 at 18:33 UTC by egnor »
(Journeyer)
Your software is only for "experts" (researchers) performing a specific
task (computer science researchers) -- so is lots of free software.
GNU/Linux itself was originally built by and for "experts" (Unix
hackers). Free software is hardly limited to mass-market consumer
software!
Your software doesn't have a "practical use" -- yes it does! It
helps computer science researchers perform computer science research.
That's a perfectly practical use, no more or less than GIMP or Apache
or the Linux kernel or any other free software tool which is useful in
some situations but not others.
Researchers do work for recognition; isn't this what drives many
free software authors?
It's the results the matter, not the software per se -- but that's
true of all software. Software is only useful insofar as it does
something. In your case, what your software does is produce results
that may be useful in computer science research. In the case of
Apache, what the software does is serve Web pages. In both cases, the
effectiveness of the software at its task is the key thing.
Private use, Web services, making changes and using the results
without redistributing your changes -- this concern is shared by many
free software authors, it's not limited to science. This topic is its
own discussion.
Finally: Just what sort of license are you suggesting? Make a
proposal already, you're the one who thinks something different is
appropriate. What kind of license would I deem appropriate? The GPL,
especially since you seem to want to prevent people using your work in
a proprietary way.
the GPL may be applied to research in every field, and is an effective
measure against piracy and monopoly. until copyright and patent laws
are sufficiently remedied it is a much better solution than the public
domain for works meant to be shared.
neither points are correct :
(1) derivative works must mention the original copyright
(2) any services, public use, or other derivative works must release
all changes as source code
both the LGPL and GPL are written as such, but the LGPL offers the
ability to create derivatives (compile/link) with proprietary
works, whereas the GPL restricts its use to other freely/openly
licensed ones and requires that derivatives also be licensed using the
GPL.
the GPL is meant to be free from ownership (but not attribution for
creators and maintainers) whereas the LGPL is primarily intended as a
means of competing more effectively with existing proprietary
offerings. I don't think the LGPL would be applicable for publications
other than software.
as opposed to the public domain, a GPL'd work is protected in the sense
that as long as abuse is vigilantly thwarted it will never be able to
be made less free from restriction : everyone owns it as much as anyone
else (authors are duly attributed and recognized) and it can never be
patented or monopolized.
Re: GPL, posted 31 Jan 2002 at 19:35 UTC by egnor »
(Journeyer)
Are you saying that services and public use of modified GPL software
must release the source code to the modifications? That's not my
understanding; AIUI one must only offer derived work source when
*distributing* any derived work (such as an executable binary). The
program's output is not considered a derived work.
(Your wording is unclear; I'm not sure whether you're saying that your
(1) and (2) are correct or incorrect. As far as I can tell both are
incorrect.)
GPL, posted 31 Jan 2002 at 20:46 UTC by grant »
(Journeyer)
in response to egnor : yes, services and
public use of GPL'd works constitute distribution and/or a derivative
of the work
distributed computing is not exempt from licensing restrictions,
including the GPL : it's still publishing, in fact it's real-time
distribution of the work
don't tell me that a publicly available service built with a GPL'd work
is not a derivative of that work : it is
from the GPL, section
2 :
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any part
thereof, to be licensed as a whole at no charge to all third parties
under the terms of this License.
the program's output may not be considered a derived work per se, but
the hosted and published service most certainly is a derived and/or
redistributed work
section 3 goes on to cover the requirement of releasing the source for
any redistribution or derivative, thus proving my first point
obviously my points (1) and (2) are meant to be correct and logically
true statements... as for the fact that derivative works must carry the
original copyright : section 2 describing restrictions on derived works
explicitly states that modifications must adhere to the terms of
section 1 of the
GPL
1. You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously
and appropriately publish on each copy an appropriate copyright notice
and disclaimer of warranty; keep intact all the notices that refer to
this License and to the absence of any warranty; and give any other
recipients of the Program a copy of this License along with the Program.
section 2c is a little strange, but is meant to ensure that the
copyright notice and licensing agreement are directly associated with
the published work and are publicly available - perhaps this is
something that needs to be strengthened for applications of GPL'd works
in distributed systems
remember that every distributed application is a publication
Re: Bogus.., posted 31 Jan 2002 at 21:12 UTC by exa »
(Master)
Hmmm.
First, there is another distinction between research software and GPL.
GPL is bound to a particular technology. It depends on the notions of
"binary" and "source" for instance. Scientific experiments do not
always come in the form of UNIX programs. The terms of the license
are not general enough to be useful for researchers. (I leave the solution
as an exercise to the reader ;)
Second, GPL does not warrant recognition. Any researcher who is releasing GPL'd
software for recognition is probably not on the right track. Tell me
the names of researchers who contributed to GPL'd code. Can you? I can't.
Research is not exactly clowning on mailing lists, flame-war-fests or
popularity contest; Linus may have rockstar status but he isn't a researcher.
(At least he didn't gain his recognition from any scientific work)
A license similar to original BSD, with an "advertising clause", is much more suitable
for research work. If I write a program, and if I am the principal
researcher I demand that my name is written on the top, every time the
program is run, every time one looks at Help|About, in every documentation.
Period. This rightful demand is not satisfied unless the license has
an explicit statement about "whom" the researcher is and "how" he should
be credited along with measures to prevent abuse of this condition.
It is my understanding that most authors who write GPL'd software do not
care who writes the software. I do have GPL'd software, I give it to the public
because I think it has "general" use. I don't claim any authorship on any
piece of GPL'd code I write, though legally I continue holding the copyright. Imagine
what happens when you contribute your code to the GNU project? What is left
of your "authority"? It is true, that with GPL, you make a commitment to the
commons in a certain way whether you like it or not. (So even Linus or RMS who
have egos too big to fit in their brains have to face this commitment)
Non-researchers may have difficulty in understanding why "your name" matters
so much in research, but in papers you write your own name on the title of
the paper, not "The Internet" as we do in KDE. (To prevent misunderstanding:
I contribute to KDE, and I am thrilled to read those fantastic press releases!)
The other points
- I don't care if GPL'ing my code allows other researchers
do research with my code. It allows them to keep their work secret -> it's
short of what's required. That might not be very important for "ls" command
but for a work that you're writing papers on it matters more than anything
else.
- When I say it's the results that matter, I talk of what is published
in a paper. So when I say "results", I mean that the license should not
prevent me from publishing a paper, present or future. Or more precisely
it should not allow certain third parties from "obfuscating" research by
doing irreproducible experiments with my software!! The "irreproducible
experiment" will be an important term in the forthcoming license ;)
- It's of course misreading my definition to claim that "research software
is generally useful software". It isn't in any way. It will have 5 users
at most in the whole world... And if somebody makes a practical application
it will be still open, remember, then after all the research has finished
I may want to make a GPL'd release.[*] The name will have been etched in stone
by then.
Thanks,
[*] In my case, the subject is parallel computing. The people who can apply
the code will need to own expensive supercomputers. I definitely wouldn't
want to miss such a business opportunity!! I would rather force them
to release "every single modification", OR get a commercial license from me.
You should talk to RMS or the Free Software Foundation. They are the
experts on this and they may have an answer for you. You do want to use
the GPL or a GPL-compatible license so your research can benefit the most
people. Again, ask RMS how you can achieve this.
One point, posted 31 Jan 2002 at 21:21 UTC by exa »
(Master)
GPL clearly allows "private modifications" and still keep the source code
to yourself, while you could say something like "It runs in 1203 seconds using
X data". That is the main concern.
GPL, posted 31 Jan 2002 at 22:30 UTC by grant »
(Journeyer)
stronger than the GPL?!?
as far as I know it represents the end of the spectrum in terms of
freedom - definitely beyond open licenses, it protects the work, its
derivatives,
and authors from bogus claims which can't
be substantiated
how could one possibly hope to prevent private modifications? it is
not possible to own ideas
unless you choose not to
share them. that's the extent to which the term intellectual property
can be taken - you can only own what you choose not to communicate.
I understand the scientific publishing community very well - and the
GPL is meant to support, extend, and lend organization to the process.
Specifically, attribution is required through maintaining copyright
notices - there's no need to repeat your own, or your organization's,
name so many times in the license, but it seems to occur often,
nevertheless.
BSD/artistic/MIT/X and other open licenses allow use (modification)
with proprietary works. how would you like your work or its derivative
to be patented and/or monopolized? you wouldn't really have a legal
recourse beyond copyright unless you use a license more like the GPL.
patent law was actually intended to provide such protection, but
created unnecessary barriers to innovation through propagation of the
intellectual property falsehood. whether you choose the GPL in the
best interest of the community or in the best interest of the project
makes no difference : innovation and historical preservation are better
served through the GPL than patent law.
because of your commitment to the community when using the GPL on your
own works, the community tends to disprove false claims even more
harshly than otherwise. offer your work to the community, and it will
support you in return (by more strongly supporting your work, because
the community's stake is greater).
according to the GPL, source is the term used for the state of a work
most conducive to modification : for publishing text, then, source and
code are one and the same.
the GPL was intended to be general enough to cover many media types,
but certainly focuses on software... you may want to check out the
Open Publication License
used by the United Nations or the
GNU Free Documentation
License
Because scientific practice is a more serious work than programming!
GPL wasn't really designed for "scientific" work.
Would I like an overall more open system where researchers would actively
work together to do science? Yes. But currently that's not the case.
And it's surely not going to work out like free software does, because of
a number of social reasons: It takes an Einstein to come up with a "General
Theory of Relativity" and no number of people cannot substitute that. This is
of course not the only reason....
Here is how you can write a general clause that covers everything I say:
If one shows the output of a modified version of the software to persons,
he should make the entire software, in comprehensible form, freely available
to those persons.
The general case I had in mind goes like:
If results from a modified experiment setup are conveyed to an individual,
that individual shall have rights to access the entire experiment setup, in
comprehensible form...... The persons obtaining the experiment setup should
be able to reproduce the experiment fully.... No useful information can be omitted
from the experiment case....
The general case is harder to come up with but as you can see that is how
the license works. "Distribution" is irrelevant. "Giving" the "program" to
somebody else is irrelevant. If somebody else accesses the "output" of the
program, he can get it in human comprehensible form. That's how you can
design a license stronger than GPL!!
As you can see it's possible.
For the special "software" case it also makes a lot of theoretical sense.
We have a very good theory of what "input" and "output" are. We define the
rights to the source code in terms of "use" with a simple condition that
defines use as a causal relation! It is also philosophically much more sound
than RMS's license ;)
The kinds of things you want to do are probably not possible with
a copyright-based license. Someone who has legally obtained a piece
of software has certain fair-use rights, and your copyright doesn't
give you unlimited control over them. Copyright gives you a monopoly
over modifications to the program or distributing original or modified
copies, but it doesn't let you unilaterally impose arbitrary rules.
You would either need some kind of shrinkwrap or click-through license,
or actually sign papers.
At one time Bruce Perens and a couple of others were talking about
trying to tighten the GPL to cover web-based services by calling such
services a "public performance". But that seems pretty iffy; the
web server is arguably doing a sequence of private performances, one
performance for each user.
I don't think that the public is necessarily served if we demand
premature publication of source code in all cases (if, the instant
I make the slightest modification to a program and show anyone the
output I must also give them the entire new code at that point,
it may be just too inconvenient for me to help debug someone else's
program).
In any case, you don't have to solve everything with a license.
Academics are already bound by academic standards to fairly credit
those who contribute to their work. Students who violate this and
get caught may be expelled, professors may be disciplined or denied
tenure.
I think that free software / open source projects often fail to live
up to the principle of academic credit, e.g. the Gimp nowhere gives
credit to the individual designers of Photoshop (even though, since
the Gimp carefully cloned Photoshop's credits box, the coders must
have seen the actual names of the designers whose work they were
copying without credit). So in this sense, as a researcher you have
a reason to be a bit concerned about the open source culture, which
tends to credit use of actual source code but not ideas.
In conclusion, if it so offends you that someone might find some way
of using your code without compensation, maybe open source isn't for
you.
exa: Very thought
provoking article, shame about the double post.
On the friction between academia and the free software world, I
quite agree that it is there, but the fault isn't only on the free
software side. Though RMS may have an ego problem, in the unlikely
case you can convince him that he is wrong he will change. Linus
doesn't deserve what you said: he is personally very modest, and his
LKML `arrogance' is really good humour. Both of these figures
maintain a standard of `accountability' for their creations that I
wish was more common in academe.
I don't think the license issue is important, in particular I think
the LGPL strikes an adequate balance between the needs of wide
dissemination and required publicity. In fact i just invented a new
license, the FOLDR (the Free and Open Lincense for Developers and
Researchers) which is derived from the LGPL by deleting the theatrics
and the annoying `upwardly compatible' clause.
Much more important in my opinion would be a `space' in which
academics and free software types can exchange ideas. I think a peer
reviewed internet journal to this end would be a good idea, and I have
an idea along these lines. I don't want to say too much now (busy
with my coming marriage and conference/agency deadlines), but if
this strikes a chord, please send me any comments/thoughts/references
you might have.
Journals, posted 1 Feb 2002 at 23:52 UTC by exa »
(Master)
Well I think academic journals should be open organizations on the Internet
rather than cash cows of publishing houses. So this does strike a chord with
me.
Printed journals "slow down" science and prevent dissemination
of ideas. It's absurd to wait for months in an age when you can
perform a banking transaction in 30 seconds.
What I had in mind would be an online journal that requires that the submitted
papers contain enough information for exact reproduction of all experiments.
If they are talking about a data or program, it should be available
freely.
I would like an online journal to be something that every researcher can
access without charge and without limitation, and review others' work.
I imagine an agency, a network, that lets scientists review
each others work and rank them, organize the knowledge and resources.
Whether that will ever happen, I don't know.
Thanks,
Isn't code very much secondary to Computer Science research? Why do
worry so much about someone using your code? It seems the case (I'm not
a Computer Science researcher) that someone would look very bad using
your results without giving you proper credit.
GPL, etc., posted 2 Feb 2002 at 14:33 UTC by egnor »
(Journeyer)
grant: No, that's wrong. It's true that a hosted
service which uses GPL software does count as a derived work (as does
almost any
modification of the software). But you must only give source code when
distributing a derived work. If you simply host the derived
work on your own computers and distribute only the
output of
the derived work, then you do
not have to distribute the source
code to the derived work in question. Running a Web server is not
"real-time distribution" of the Web server code; it's merely "real-time
distribution" of the Web server's output (i.e. Web pages).
exa: You say "GPL is bound to a particular technology. It
depends on the notions of 'binary' and 'source' for instance.
Scientific experiments do not always come in the form of UNIX programs."
Wait, you were originally talking about research code. Code
always has a "preferred form" (loosely known as "source code"). If
you're talking about a license for the distribution of non-code
scientific material, then that's a whole different discussion.
You say "It's of course misreading my definition to claim that 'research
software is generally useful software'". I never said that!
What I said is that lots of free software is not "generally
useful". Free software doesn't have to be mass-market software -- and
most of it isn't! I don't see how the fact that it's only useful to
five people alters the equations of freedom. (There is, for example,
lots of free software which only runs on "expensive supercomputers".)
No, we don't need a new "license", least of all some kind of horrible
clickwrap thing that limits the way you can use things.
exa, you have to face the fact that if you publish your
ideas, people can use them, sometimes not in ways you approve of.
That's part of what "publication" is all about. I for one am thankful
that publishers do not have the kinds of rights you are asking for.
(This seems to be changing, however, sadly.)
jbuck: Right on.
There is no need for a "free research license" for software.
Joe Buck is right in that the problem you want to address
is hard to solve using a software license.
Additionally the Free Software community would like to see more
ways to learn and copy information without complicated restrictions.
The scientific community faces a bigger problems with giving credit
in a more commercial setting: Not scientific discovery seems to be the
first goal anymore, but the money you can earn from your research.
Then there is massive information overload. Both problem can only be
attacked if we revise copyright laws to have more categories.
Scientific work and results have to be treated differently
than content for entertainment. The painful grip of copyright on the brain
of humanity has to be loosened.
egnor: The license does not have to be more limiting than GPL.
Indeed, it will have a simpler set of rules, remarkable if that counts
as a reduction of ad hoc private law which GPL is. Note that GPL uses
the copyright law to enforce particular rules that were not present
before. Such does my license.
However, as I hinted in previous articles such a license can be crafted
maintaining:
- No Discrimination Against Persons or Groups
- No Discrimination Against Fields of Endeavor
which are conditions in DFSG if you will remember. I think those are
necessary conditions, and in my interpretation GPL cannot uphold them!
The two above rules are those of "equality", and any open system must
have rules to preserve equality. Take the case of the web service
programmers: they can modify all they want and they don't have to give
away a line of code. On the other hand a student who happens to
use a free software library for a small application will have to provide
his source code. Why should the student have such a responsibility while
the former commercial enterprise does not?
In my opinion, it is difficult to uphold equality unless you have
objective terms that are not dependent on a particular technology.
GPL fails to address a newer technology that is a simple client/server
architecture, that's what I meant when I said all research isn't
UNIX programs. In the future, there will be radically new forms of
computing and GPL will not be able to embrace these new realms.
Therefore whatever legal enforcement is present in the license,
it should depend on objective and theoretical criterion with a
clear interpretation. The criterion I offer is "output", and the
philosophical device for interpretation is "causality". My license
could say: anybody who has access to raw or processed output of the
machine has rights to the comprehensible form of the computing system.
That is I'd replace distribution with output.
To others who said there is no need for an "open research license".
GPL does not define what "freedom" and "openness" is. From the viewpoint
of the researcher a license that would ensure proper credits and strictly
open code would be more appropriate.
I think if there were such a license, more researchers might be willing
to open their experiments to others.
Regards,
jbuck typed:
"if it so offends you that someone might find some way of using your code without compensation, maybe open source isn't for you. "
Assume that I've written a wholly new AI algorithm that achieves a feat
previously not thought to be possible. I post a code that does it
on the USENET under GPL license. Then somebody takes it and writes a
GNOME GUI for using the code in a particular domain. User presses "About" to
see the author of the program and sees "Franzo Cecihuli" as the author.
As the researcher, I'd never ever want to confront a situation as the above.
99.9 % of the work is done by me, and Franzo doesn't feel like giving credits?
I wouldn't want to trust the good will in others for proper credits, I want to
ensure it if it's possible. It should be clearly indicated whom the principal
researcher is, and what other codes have been contributed by others. In that case
it should read like "Principal Researcher: Blaa Bla.. GNOME GUI by .... ".
Or some wise cracks from "Discovery Solutions Inc." on the sunny hills of
california takes the code attaches it to some commercial database and use it
to automate a task, and then open up a web service powered by a 5000 node
cluster. They don't give the code, or don't have to mention the researcher's
name at all!!!
That would be even more unbearable! As the researcher I would like to see my
name there _and_ what they have done with the code. I also want to make sure
others can see it, too. If they've done any good then my name will lead out of
obscurity, and the world will benefit from applications everywhere!!!
I'm all for GPL'ing common codes, I don't give a damn about the credits. Who cares
who wrote it if the author does not!!?? Sometimes a BSD like
license may be preferable or even putting it in the public domain. We used to
have a lot of public domain software before the domination of GPL....
More in a follow-up post....
My advisor told this once to me, after praising me on being a good
programmer:
"In the industry or the free software community, it is sufficient to
write a code that is overall well. It is perfect to write a code that
is better than the average. But in research, you have to do one thing
better than everybody else in the world."
That I think would explain why credits are so much important in research.
This is fact you have to deal with. Especially when society today
rewards rampant greed and disonesty. No licence will fix this.
By the way, your research sounds glorified software developement to me.
It seems you want to artificially put yourself a level above every one
else who does software development.
The Pythagoreans, posted 3 Feb 2002 at 00:31 UTC by nymia »
(Master)
Why not try what the Pythagoreans did with their knowledge?
Perhaps you could setup some form of institution or a community that
enforces such ownership of knowledge.
Based on what you wrote, it seems what you want cannot be achieved
though a copyright license.
Good research is, by definition, repeatable and verifiable by
independent third-parties. So what prevents someone from reading your
paper
and then clean-room
implementing your research results, and useing the clean-room code in
whatever fashion without acknowledging you? You have no claim over
their code, no matter how you license your code.
What you want can be achieved though patents. But you want to use
copyrights, not patents.
So the weakness you attributed to the GPL is not valid. GPL cannot
achieve something which the law does not empower it to achieve.
egnor : you're talking about use as opposed to
actually creating a derivative work. it's a fine line, but there is no
difference between linking a local library and a distributed one in
terms of copyright.
lower-level services could eventually be available in real-time with
some reliability if licenses covered such integration well enough - but
it hasn't yet been taken to that point by enough people's minds to be
recognized as valid, I suppose
exa : clearly you don't understand the GPL, for it is meant to provide
what you continue to describe : (1) attribution and (2) continued
openness
And the ways it allows "smart" people to exploit GPL'd code.
What is GPL's notion of "derivative work" or "use" of program I ask.
Derivative work is "a work containing the Program or a portion of it".
And GPL says right in the beginning (Section 0)
"The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does."
In Section 3 it says that I can copy and distribute the Program "in
object code or executable form" provided that I meet certain "copying and
distribution" conditions.
You see grant, I can change a "web server", even change it in
such a way that its output is completely different, I can run it
on my server, and I don't have to give a *single* *line* to
anybody else since the output does not contain derivative work, ie
no portion of the program itself. I have not "copied or distributed"
the "Program" in object code or executable form. The program runs here,
the results are sent there. Only the output is sent over the network,
not the program or a portion of it. According to GPL I have no obligations
whatsoever to offer the source code to anyone.
The situation above is one of those that I wish to avoid decisively.
Without a special license, there is no way that I would distribute
research work under GPL. Most of the software is moving to distributing
services gradually.
I think I've made clear why GPL is very weak with respect to "technological
change". It keeps talking about binary, source code, object code, executable.
Those terms have a restricted domain...
A better license should by default state that "any derivative work
must be made available to all those who request it under the terms
of this license".
What you say goes into the domain of patents, and I have no intention
to go into that.
If somebody realizes the ideas in the paper himself, fine. There is
no problem. What I want is to make sure that all derivative experiments
will be made available, rather than preventing others from making
experiments!! You see, I don't want some "benchmark paper" guy taking
my code, breaking it in such a way that it performs poorly, and then
write a paper without releasing the code... That would be disastrous.
If I have the license I want, I can just give the code to anybody who
wants to study it. And then if I suspect some result I can always try
it myself, or somebody else might do that. There would be fewer
opportunities for error.
So in reality, this license would increase the number of experiments
being made and the overall quality of those experiments, which are
indicative of its openness. It doesn't prevent others from replicating the experiments themselves, and it forces
all experiments derived from my work to be "open" as well. Fan out.
exa: I can't say I understand what bothers you about people making a mess of your ideas, but you might take a look at how Bitkeeper keeps derived works on the stright and narrow: derivative works must pass a regression suite to be allowed to be publicly distributed.
As a completely tangential issue, you might want to check weather you
*can* put out your research code under GPL or anything else. You
mention it was done as part of MSc. Most universities this day have
some sort of group that does industrial licensing of research. You
might be surprised to find that they think they own all your IPR
including code.
grant said: "it's a fine line, but there is no difference between
linking a local library and a distributed one in terms of copyright."
IANAL, but I would say that there are a few distinctions, if I
understand what you mean by 'linking a distributed [library]' correctly
(I believe you mean making use of functions provided by a remote
application in a manner that is in some way analoguos to a remote
procedure call or similar mechanism).
Firstly, linking statically to a local library involves making a copy
of the code of the function within the library you are using.
If you link dynamically to a library, you will (usually) have to
distribute that library with your application, so this also (usually)
involves making a copy of the code in the library.
Because of this fact, the above is an action restricted by copyright
law for which a specific grant of license would be required. Note that
I can do anything I want with dynamic linking on my system as long as I
don't distribute the libraries. This, fortunately, is a limitation of
copyright law, and can be seen to protect the possessor of a library's
freedom to use that library.
Now, with the RPC or whatever you use for the distributed library, no
copy is made of the code. Therefore, like in the second dynamic
linking case, copyright law does not restrict this action. Anyone can
use this for whatever purposes they wish, and no copyright-based
license agreement can prevent it.
I think the only way that you could protect against this kind of use
would be to declare the output of the work to be a derivative work in
itself of the original work. In most cases, this would be rather
difficult, if not impossible, to enforce legally. A work must be
substantially derived from another to be considered a derivative. The
mere fact that it includes a little bit of formatting information or a
few constant strings from the original work is not enough.
Note that there is one possible loophole by which all of this could be
forced under the stranglehold of copyright law: In order to execute a
program, one must make a copy of it in the computers memory. To the
best of my knowledge, it has never been tested in a court of law as to
whether copyright law would allow the author of a work to make a
restriction of use based on this copying: instinct obviously states
that it should not be possible, however many proprietary programs
include terms in their EULAs that rely on this kind of logic for
enforceability, and there are at least some credible arguments to state
that the law may be interpreted that way.