This may seem a little odd to folks in the know, but I look forward to receiving mail from IPZilla, the system that Eclipse developers use to submit code for IP review by the Eclipse Foundation. Lately, I’ve been getting a lot of notifications about contribution questionnaires (CQ) submitted for Eclipse IP review. Code checked into Eclipse CVS is subject to IP review. The conditions under which a CQ is required for original code are a tad complex; however, the rules are a little easier to understand for third-party supplied libraries. when an Eclipse project uses third-party libraries, each one of them has to be checked for IP cleanliness (essentially, all the code has to be verified to actually be owned by whomever claims copyright, and licenses have to be checked to make sure that the code is compatible with the EPL). It’s a big job for all involved.
Over the past few weeks, I’ve spent a lot of time with Sharon Corbett—who spends most of her day rooting through the code—learning about the process and how I—as a member of the Technology PMC—can help. As a Technology PMC member, one of my responsibilities is to sign off on the CQs pertaining to the Technology Project. The main role I play is to validate that the CQ makes sense technically. But it extends beyond that. My role is to make sure that all the required information is provided.
A CQ needs to have certain information. If you’re submitting a library for review, you need to clearly indicate the name and version of the library. Unfortunately, most JARs don’t actually contain the version number in the manifest, so in some cases, you have to hunt this down. If the exact same version of the library has already been passed by another CQ, you can just reference the other CQ (this tends to result in fairly quick approval). If the specific version of the library is not the subject of another CQ, you must to attach the source code. The IP folks don’t really care too much about the binaries, but they cannot proceed without the source. Ideally, the source code will contain information about the license under which it is distributed. If it does not, you’ll also have to sort this out.
A common mistake is to submit more than one library as part of a single CQ. If the library you need references other libraries, they must each be submitted for review under their own CQs (and each must have the appropriate source code available).
If you don’t have all this information, you might as well not bother to submit the CQ, since the only possible result is a request that you provide it. It can be very frustrating, but all this information is needed: code that goes into Eclipse source code repositories needs to be reviewed so that adopters of the technology can be confident that the code they’re using is clean and won’t result in legal complication down the road.
Anyway, it’s been a great learning experience for me (and there’s still so much more to learn). Sharon has been very helpful.