Now that I have discovered the true meaning of the EPL, I need to tell another story. Not a fun one.
Checking again the Merriam-Webster, violation yields:
Main Entry: vi·o·la·tion
: the act of violating : the state of being violated : as a : INFRINGEMENT, TRANSGRESSION; specifically : an infringement of the rules in sports that is less serious than a foul and usually involves technicalities of play b : an act of irreverence or desecration : PROFANATION c : DISTURBANCE, INTERRUPTION d : RAPE 2, : RAVISHMENT
The d: meaning is what I am talking about.
Here is my story: A few weeks ago, I downloaded some bundles that were licensed under the EPL 1.0, the Eclipse Foundation User agreement and — as some of it was made available also through the update manager– the Update Manager agreement. So far so good. These bundles are building on Eclipse.
Then shortly after that, I went to look for the source code of those bundles. On the distributor web site, I found a documentation page explaining how to connect to their public version control system. I followed the instructions and after a short while I had a fresh checkout of the entire code repository in a workspace. I was on a roll.
But hey, what? the code I had checked out did not match the downloads. Different bundles layouts, different packages and versions. Different in that they were squarely older. No big deal, I thought. That might have been just an oversight. If I were to throw stones at folks that sometimes forget to publish their code, I would probably have self-lapidated myself long time ago. So I scouted the web site to find some contact email, and sent a kind request asking for the source code of the downloads I had made. Then thing started to head south.
I was first hit with polite opposition, that later grew stronger. I tried to make the gentle case that the EPL required distributors to make the source code available. After all the EPL says :
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: [….]
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
The key words are available, reasonable and customarily: available as in “present or ready for immediate use, accessible, obtainable”; reasonable as in “within reason, fair, moderate, inexpensive”; and customarily as in “give me a zip or a pointer to a version control system”.
In the end, after a week long of some serious stonewalling, the dude agreed in principle to provide the sources in those terms:
Nevertheless, even though we believe we are under no obligation to do so, we will in good faith work to get our old source control service back up and extract out at least the last version of the old EPL source code. We are working very heads-down on getting the 1.0 version of our IDE out, as our users expect us to keep driving the user experience bar higher and higher. As a small company with very limited resources, we need to concentrate on that goal first and foremost. After we ship our 1.0, we’ll then turn our attention to extracting the archival snapshot you’re requesting.
Note that I am not talking ancient code, but stuffs that I downloaded in the first two weeks of September 2007.
But anyway, I was bloody happy and immediately asked: when? when? tomorrow? next week? I even volunteered to help with their version control woes. The reply was:
As I said in my prior email, as soon as we get our 1.0 product released, we’ll make best efforts towards getting our [version control] system reinstalled, relicensed, and reconstituted to dig out the version of the files you need.
And shortly after:
We have contacted [John Doe] and have forwarded him our email to you on the issue. At this point, we can resume our conversation until after our 1.0 release.
I am keeping the involved parties identities private for now, as I am not trying to embarrass folks publicly for no reason. I just care about the source and the EPL. But given the release pace they have been going through, this version 1.0 could be years away as far as I know. I would be happy to be mistaken though.
Am I an un-reasonable stubborn wild ass? Is waiting two weeks for source code unreasonable? Three weeks? What is reasonable here?
Or is the EPL just a joke, that everybody can ignore?