Posted by jmiccolis on July 9, 2009 at 8:49pm
Jump to:
| Project: | Markdown filter |
| Version: | 6.x-1.x-dev |
| Component: | Code |
| Category: | task |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed (fixed) |
Issue Summary
It appears that this module includes the third-party markdown library (in markdown.php). Unless the rules have changed, this is in violation of the Drupal.org CVS usage policy -> http://drupal.org/node/103704
DO NOT include code from a non-Drupal project in the repository. If your module requires non-Drupal code, provide a link to where the other code can be downloaded and instructions on how to install it.
...please let me be wrong. Please let 3rd party BSD/MIT code be allowed, things would just get easier...
Comments
#1
I wrote Grupal a while back to bring Google Apps integration to Drupal and it depends on both Zend and xmlseclibs.php libraries (both of which are available under new BSD licenses). There's a zend project in Drupal which facilitates download/installation of Zend (separately from Drupal) and the xmlseclibs.php file is only necessary for secondary functionality (SSO) but this does seem rather a serious limitation in the extensibility of Drupal and I would very much like to see the restriction lifted. This is in the spirit of all GPL-compatible licenses and while I appreciate the "purist" approach it puts us at a competitive disadvantage to those who are more flexible.
I wonder what the implications for GPLv3 libraries are?
Sam
#2
Yeah, well, we are in violation, right. Good catch. So we need patches for the supported branches of the module to extend the description of the installation and remove this file.
#3
Ok - I'm a bit confused by the lineage of markdown and with the split etc. it's possible that it's already been taken care of. Perhaps one of the resident experts could take a look...
What could be even better is some sort of infrastructure for downloading/managing third-party libraries like this... there's no point rolling one for e.g. Zend if we're not even including the library (nor code to download it). Anyway I need to update my module accordingly and will think about how this might be done then.
Sam
#4
I'm assuming the 3rd party library is BSD because the original Markdown code is BSD. I've contacted John Gruber to ask if he'd consider re-licensing it as GPL. That won't help with the no-3rd-party-code rule, but that would open up the possibility of replacing that code with a new Markdown implementation to avoid the usability problems with "install this here" instructions.
#5
I heard back from John Gruber, who suggested he doesn't believe Michel Fortin's PHP code is required to share the BSD license on his own Perl implementation. I think maybe the best way to resolve this is to write a new implementation straight from the syntax documentation, without reference to any of the existing BSD code. Another reason to do this is to get ride of the extraneous code for other CMSs in Michel's implementation.
This could also be a good opportunity to split out "Markdown Extras" style syntax handling into another module that could be expanded while the core Markdown filter more strictly adheres to the standard Markdown syntax. Expanding Markdown syntax seems to be a common theme in the issue queue, but it doesn't really make sense to do that based on 3rd party code, and I'd imagine a lot of users would prefer to just stick to the standard.
#6
I contacted Michel Fortin and asked about dual-licensing his code as GPL. He said he's fine with that, and also added that John Gruber's original license was GPL. So that should resolve the license issue. Michel also advised against writing our own Markdown parser, and said he's fine with us stripping out the CMS code. I wonder if that would be a big enough change to make it no longer fall under the 3rd party code ban?
I still think we should split out Markdown Extras in a separate submodule, but it now seems like we can probably do that based on Michel's code.
#7
PHP Markdown is now released under GPL, thanks to Michel:
http://michelf.com/projects/php-markdown/license/
If someone wants to make an issue of the 3rd party code ban, let's handle that in a separate issue.
#9
Automatically closed -- issue fixed for 2 weeks with no activity.