<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><title>Re: [Haskell-cafe] HDBC's future and request for help</title><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.avgcert, li.avgcert, div.avgcert
        {mso-style-name:avgcert;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1726221411;
        mso-list-type:hybrid;
        mso-list-template-ids:-711955402 -600159840 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";
        color:windowtext;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>John,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>As far as I know it is the libraries that interface to O/S libraries that have most value in the platform and, AFAIK, many HP libraries link to O/S libraries (e.g., GLUT).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I had expected that at least the principle HDBC drivers would have to go into the Haskell Platform with HDBC.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt'>&gt; And that is a useful point as well.&nbsp; If there is a big package that<br>&gt; people can use and understand once, without having to analyze licenses<br>&gt; for dozens of component packages, there's value in that for sure.<br><br></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt'>&gt; What I'm hoping the commercial people on this list could do (besides me,<br>&gt; that is) is say something like &quot;LGPL won't work for us because clause<br>&gt; xxx requires us to do yyy.&quot;<br><br></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I am such a commercial developer as well as soon (I hope) a Haskell Platform maintainer. I am trying to explain my concerns. There are problematic clauses in the LGPL (<i>any</i> clauses that set out conditions for making the using system a derived work of the LGPL-licensed library) but the key point is having, as far as possible, a single permissive license (like the BSD license) for all of the libraries.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For mission-critical components all of the legal due diligence and necessary educating of parties gets done. But it is not practical to do this for non-essential libraries, so anything that isn&#8217;t covered by a BSD or similar license needs to be replaced for the production release.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt'>&gt; At the same time, if one of the HP maintainers says, &quot;We want HDBC in<br>&gt; the HP and all that's holding us back is the license&quot; I think that would<br>&gt; be compelling enough for me to switch it immediately.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>It would be interesting to hear from the HP maintainers. I would expect them to have a good handle on these issues.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Chris<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> John Goerzen [mailto:jgoerzen@complete.org] <br><b>Sent:</b> 23 February 2011 19:34<br><b>To:</b> Chris Dornan<br><b>Cc:</b> 'Haskell Cafe'; 'Gershom Bazerman'<br><b>Subject:</b> Re: [Haskell-cafe] HDBC's future and request for help<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p><span style='font-size:10.0pt'>On 02/23/2011 11:57 AM, Chris Dornan wrote:<br>&gt; Thanks John,<br>&gt;<br>&gt; I think this is a valuable discussion.<br>&gt;<br>&gt; The compromise you propose wouldn&#8217;t address the main point &#8211; the fear<br>&gt; and aversion of using (L)GPL IP in proprietary IP.<br><br>Is that fear well-grounded or not?&nbsp; If not, then people should be<br>educated.&nbsp; If so, then let's see what we can do about it -- either add<br>exceptions or relicense.&nbsp; I don't really think that this community<br>should choose licenses based upon whether or not third parties hold an<br>irrational fear of them.<br><br>&gt; For me the key phrase in your email was the final one &#8211; &#8216;if my reading<br>&gt; is correct&#8217;. Everywhere I would take advantage of this modified license<br>&gt; I will need to get the lawyers of the people owning the host IP to agree<br>&gt; to this interpretation.<br><br>This is no different than with any other license, but could even be made<br>more explicit.&nbsp; In the end, we are (mostly) a community of non-lawyers<br>here so such disclaimers<br><br>I also don't think that we ought to cater to people who are afraid to<br>read licenses.&nbsp; Those are the people that tend to do things like pirate<br>busybox and the Linux kernel for proprietary purposes.<br><br>&gt; I have checked all of the packages in the Haskell Platform and they are<br>&gt; all BSD3. If it had been otherwise it would have destroyed a significant<br>&gt; part of the value of the HP &#8211; clear and straightforward licensing<br>&gt; implications for using it.<br><br>And that is a useful point as well.&nbsp; If there is a big package that<br>people can use and understand once, without having to analyze licenses<br>for dozens of component packages, there's value in that for sure.<br><br>There are two ways to accomplish that.&nbsp; One is to insist that everything<br>use the same license.&nbsp; The other is to establish standards for what kind<br>of licensing terms are acceptable.&nbsp; An example of the latter is the<br>Debian Free Software Guidelines,<br><a href="http://www.debian.org/social_contract#guidelines">http://www.debian.org/social_contract#guidelines</a><br><br>We could propose a guideline for things that go in the Haskell Platform,<br>and it could be such as this:<br><br>* All licenses must meet the terms of the Debian Free Software<br>Guidelines (DFSG), and must also meet the following terms:<br><br>* Proprietary applications may use and link with unmodified versions of<br>libraries without forcing the rest of the application to use a specific<br>license<br><br>* Licenses may require proprietary applications that use and link with<br>modified versions of libraries to make source code to the modifications<br>available to the community under the original library's license, but may<br>not require applications to do so for other code linked to the application<br><br>* Licenses may require copyright and/or warranty disclaimers to be<br>carried with applications that use the code.<br><br>Perhaps we could also list example copyright/license statements that<br>meet the requirements.<br><br>&gt; I really don&#8217;t want to plough work into a package that can&#8217;t be bundled<br>&gt; with the HP, the natural home for strategically-important high-quality<br>&gt; libraries.<br><br>I'm not certain the HP is a good home for HDBC.&nbsp; One could put HDBC<br>itself in there, but it's useless without a database backend.&nbsp; All of<br>those, do date, require a C binding which probably makes them poor<br>candidates for the HP.&nbsp; If the thing in the platform is useless without<br>the backend driver, is it sensible to put it in the HP?<br><br>At the same time, if one of the HP maintainers says, &quot;We want HDBC in<br>the HP and all that's holding us back is the license&quot; I think that would<br>be compelling enough for me to switch it immediately.<br><br>&gt; Turning this around, it is going to be much easier to get people who are<br>&gt; using Haskell in commercial contexts to contribute to HDBC if it has a<br>&gt; license that meets their requirements.<br><br>Quite so.&nbsp; I want to make sure we do that.&nbsp; That's one reason I have<br>kept the door to the BSD license open.&nbsp; As I've said, I've relicensed<br>other code under BSD in the past and may be convinced to do it again.<br>What I'm hoping the commercial people on this list could do (besides me,<br>that is) is say something like &quot;LGPL won't work for us because clause<br>xxx requires us to do yyy.&quot;<br><br>Then we can have a good discussion here, revolving around:<br><br>&nbsp; * Is the community/author prepared to say that we want to let people<br>do yyy with our software?<br>&nbsp; * And if so, what is the best response?&nbsp; Can we make small exceptions<br>to the LGPL to satisfy it, or do we have to go to the BSD or some other<br>such license?<br><br>&gt; I do appreciate your concerns &#8211; I have regularly contributed code to the<br>&gt; community and want to continue doing so &#8211; but I think there is little<br>&gt; real prospect of HDBC being attacked by a proprietary derivative. I<br>&gt; don&#8217;t doubt there will be some free-loading, but this might be the<br>&gt; inevitable price of attracting more investment.<br><br>That's an interesting point.&nbsp; There is, of course, free-loading even<br>with GPL'd software.&nbsp; The promise there is, though, that people get<br>their rights preserved regardless of who gives them the software.&nbsp; I<br>like that, and think that in the long term it produces the greatest net<br>gain in software quality and freedom.&nbsp; Yet I realize that it can cause<br>some people without that mindset to reject it, which is why I see the<br>LGPL, perhaps with the additional exception I've outlined, a good balance.<br><br>-- John</span> <o:p></o:p></p><div class=MsoNormal align=center style='text-align:center'><hr size=1 width="100%" noshade style='color:#A0A0A0' align=center></div><p class=avgcert>No virus found in this message.<br>Checked by AVG - <a href="http://www.avg.com">www.avg.com</a><br>Version: 10.0.1204 / Virus Database: 1435/3463 - Release Date: 02/23/11<o:p></o:p></p></div></body></html>