Friday, July 26, 2013

Migration update - does it build?

A lot of work has been going into the locationtech_ip branch of uDig:

There are two streams to the incubation process for uDig.
  • Preliminary Approval (done) - this is a review of the initial code contribution (i.e. the source code the team is working from). Once it has been reviewed the codebase can be hosted on Eclipse infrastructure - allowing the team to collaborate while to the dependencies are checked.
  • Legal Review (in progress): The IP review is extensive and goes through and double checks the dependencies that are used by uDig. Both dependencies (such as GeoTools) that are distributed with the uDig download, and also those required to build the project (such as Sphinx).
Diagram adapted from wiki page on Parallel IP Process

Status Update

Here is a quick update:
  • Initial Code Contribution: ready to check-in when we are - yay!
  • Infrastructure: moving shop
    • Email List: We have successfully migrated to email list - thanks to Denis and Jeff for making that happen.Although this is a small change, having a dev list cuts down on the number of communication channels the uDig team has to watch. Anything important can be CCed to the udig-dev list.
    • Build Farm: with our Initial Code Contribution approved we have now been introduced to Thanh from the Eclipse build team. The conversation has given us a lot to look forward to in the coming weeks.
  • Dependencies: This is the one to watch, not all the dependencies are submitted yet.
    • Contribution Queries: Each open source project uDig makes use of needs to go through a quick legal review to confirm it is actually open source, and the team responsible has decent procedures in place to check they are allowed to distribute the code.
      Thus far each community we have contacted has been very helpful with respect to questions. I will post a GeoTools blog next week with thanks to a few authors we have had to track down.
    • Build Dependencies: We have also started submitting "build dependencies" for open source projects we use to create uDig - but do not need to distribute as part of the uDig download. As an example Frank has submitted Sphinx which we use to build our docs and online help.
  • Build Scripts: Looks to be working.
    May need to update this when we migrate to build farm.
  • Release Bundle and Scripts: Frank has updated the plugin descriptions and hit a snag. We have a dual BSD + EPL license, but the plugin description only accepts a single URL for the license field - we may have to stand up a single page with both licenses on it.
    We will need to revisit this with the NSIS Installer and NSIS Plugins are through the IP review. 
  • Branding and Headers: This is going to be one of the last things we do.
    Once the headers are updated (to say the project is distributed by Eclipse Foundation) we have to wait for the Legal review before we can issue a release.
    This will also involve a refactor to the org.locationtech.udig package, so we want to handle this step very careful.


I have split out our two dependency activities in the above chart, in order to highlight the difference between creating the request for the legal team, vs submitting the source code (so there is something to review).

You can also see where the action is at the moment - reviewing a very large dependency called GeoTools.

It should be noted that the LegalReview process is developer friendly, making use of Bugzilla for each request, and attaching source code to each ticket in the same manner you would a patch.

No comments: