Real Project Management for Real Businesses

Browsing Posts tagged licensing

While there hasn’t been a huge amount of public discussion about it, we’ve been working on a license change for web2project. At present, web2project is available under the GNU Public License v2 (or GPLv2). While there’s quite a bit of fear, uncertainty, and doubt surrounding its use, there are a few concerns that result from the various interpretations and legal analyses:

  • There are numerous conclusions on if there even can be non-GPL-compliant components that are wholly dependent on GPL’d software. The majority opinion – according to projects like WordPress, Drupal, and Joomla – is that these components are derivative works and therefore also must be GPL.
  • To protect against this, there’s the concept of a “shim” which is a small piece of code that sits between the GPL application and your module that would allow more flexible licensing, but that concept is also an area of contention.
  • On the plus side, including one line of GPL code in a non-GPL project is unlikely to cause a problem because Fair Use is still Fair Use. More specifically, one of the factors assessed in Fair Use determination is “the quantity or percentage of the original copyrighted work that has been imported into the new work. In general, the less that is used in relation to the whole, e.g., a few sentences of a text for a book review, the more likely that the sample will be considered fair use.” [Source: Wikipedia]

So what does this mean for Web2project?

Under this reasoning, all web2project modules would have to be and remain GPL. If this module interacts with or is wholly dependent on web2project and differently licensed systems, it has to be GPL.. but we’re not sure what that means for the other systems. What we know, as far as web2project is concerned, is that the license may place infeasible restrictions and rules on your code.

The GPL puts rules on the code of our contributors that are against our vision of Freedom and the spirit of Open Source. It attaches strings – both seen and understood and implied and unclear – that we aren’t willing to deal with any further. We won’t let our users to get tied down by the same unclear rules that have plagued other communities.

Therefore, to protect the integrity of the project, the work of our community, and the growing integrations being built on web2project, we’re changing from the current GPLv2 back to the original BSD license.

There are really only two ways to change licenses legitimately:

Get all contributors to agree to the change.

OR

Remove the code of any contributor who doesn’t authorize the change.

For the past few months, we’ve been working on exactly that. Digging into the ancient past of web2project and dotProject, we found the details of something we all knew: dotProject itself changed from BSD to GPL between v1.0 and v2.0. Unfortunately, there are no records to who made this decision, how, when, or any discussion, etc, but based on SVN records, the license changed on March 10, 2005. From the beginning of dotProject through the date of our fork (November 2, 2007) and then into web2project, we have a total of 33 contributors:

  • There are four individuals who contributed 4 lines of code or less, we’ve excluded them.
  • There are seventeen individuals who contributed exclusively to dotProject 1.x (aka prior to March 10 2005). Since they were contributing to a BSD project, we assume that they agreed to the BSD license.
  • Of the remaining twelve:
    • One is contributing exclusively to web2project and agrees.
    • Four individuals contributed to both dotProject 2.x and web2project and all agree.
    • Three individuals contributed exclusively to dotProject and all agree.
    • This leaves a total of four individuals, two of whom are unresponsive, two oppose.

Of the combined history of the projects, this gives us 888 SVN commits which are not approved. Of those, we’ve reviewed 365 commits which were merges of already approved code or code we’ve since deleted (not replaced, deleted). This leaves us a total of 523 commits that are still under review and/or need work. To put this in context, this is approximately 7% of the 7000 total commits between the two projects.

Whew.

At our present rate, we will finalize the license change well in time for web2project v3.0.

Going forward, all web2project development should be considered licensed under the Modified or Clear BSD. Anyone contributing more than a line or three of code will be expected to agree to a simple Contributor License Agreement.

web2project homepage As of 22 September 2010, web2project v2.1 is officially released! You can download it from SourceForge now.

For Project Managers, there are not a huge number of tangible improvements. This was mostly a cleanup release:

  • The most important part is that now a User can add Tasklogs for people other than themselves. When you create or edit a Task, you can denote “Allow users to add task logs for others” which allows just that. Users can add hours for anyone currently assigned to work on the Task. The system tracks who logged the time for audit purposes.

For Developers, we had a significant number of cleanups related to timezones, Gantt chart creation, and miscellaneous things here and there:

  • The most important part are some cleanups related to the contact_methods refactoring. There were a number of issues that made it into the v2.0 release that are now closed.
  • More useful in general was a complete refactoring of the Gantt chart creation. One of our goals for v2.2 is to supplement the current image-based (jpGraph) Gantt charts with both a jQuery and a Flex/Flash-based option.
  • We added a significant number of Unit Tests for the system in general but focused on the PEAR/Date and CDate classes specifically. We hope to replace PEAR/Date with core PHP functionality in coming releases.
  • We resolved a number of browser compatibility issues for IE 8.
  • iCalendar generation has been updated to create VEVENTS that pass validation as per the formal specification.
  • We moved a number of duplicate and oddball functions into the deprecation area for refactoring and eventual removal.

For anyone who might be interested, the big time sink during this release was of a legal nature. After the battle between WordPress and the Thesis theme played out and how the GPL could be interpretted, we investigated what it would take to change to a BSD-based license. The good news is that it will be possible – more to follow – and the bad news is the amout of effort involved.

Once again, some great community members stepped up and did a great job in reporting issues, testing fixes, and generally offering insight and sanity checks. Special thanks goes to opto and figgles.

In summary, we closed 38 issues including 3 crash-level issues, 20 minor issues, and 4 features. As always, these are just the formally reported issues and don’t include smaller items that were reported via Twitter, the web2project forums, and other means. If you want to explore everything of interest, check out the web2project v2.1 Release Notes. And of course, if you’re looking for ways to collaborate with us more easily, you should check out our web2project git repository.

You can download web2project v2.1 from SourceForge now.

* And yes, I always wait a few days to announce the releases in case we have to make a patch release. ;)

After a major cleanup of the structure and logic due to a handful of issues, v4.1 of the Project Importer is now available! You can download the latest version here:

https://sourceforge.net/projects/web2project-mod/files/Project-Importer/

The purpose of the Project Importer is to allow users to import their project plans from other systems. Currently Microsoft Project and WBS Gantt Chart Pro are supported.

The significant changes in this release include:

  • Fixed a major issue where dependencies weren’t being imported properly or sometimes at all.
  • Added a tweak to the MS Project processor to make sure the project title is retrieved properly.
  • Fixed an issue where the Project Start Date was not set properly in the MS Project import
  • Tweaked the import process so that if there’s no Company match, it default’s to the current User’s Company. This resolves the issue where a Project could accidentally get assigned to no Company and therefore disappear due to permissions.
  • Changed the licensing to align with the coming web2project license shift.

There is a goal to support additional file type imports. At present, CSV – as an Excel export – is one option but is the most difficult due to a lack of formal/official column/field structure that a user could create. If anyone has any suggestions, please feel free to share them in our forums.

The Project Importer can be downloaded here:
https://sourceforge.net/projects/web2project-mod/files/Project-Importer/

Powered by WordPress © 2013 web2Project Design by SRS Solutions

Get web2Project at SourceForge.net. Fast, secure and Free Open Source software downloads
LiveZilla Live Help