index.html (7299B)
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Thoughts on Licences - Chris Bracken</title> 7 <link href="/css/site.css" rel="stylesheet"> 8 <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"> 9 <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"> 10 <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"> 11 <link rel="manifest" href="/favicon/site.webmanifest"> 12 <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#140f42"> 13 <link rel="shortcut icon" href="/favicon/favicon.ico"> 14 <meta name="msapplication-TileColor" content="#603cba"> 15 <meta name="msapplication-config" content="/favicon/browserconfig.xml"> 16 <meta name="theme-color" content="#ffffff"> 17 </head> 18 <body> 19 <header id="header"> 20 <div class="site-title"> 21 <h1><a href="/">Chris Bracken</a></h1> 22 </div> 23 24 <nav class="site-navbar"> 25 <ul id="menu" class="menu"> 26 <li class="menu-item"><a class="menu-item-a" href="/">Home</a></li> 27 <li class="menu-item"><a class="menu-item-a" href="/about/">About</a></li> 28 <li class="menu-item"><a class="menu-item-a" href="/code/">Code</a></li> 29 <li class="menu-item"><a class="menu-item-a" rel="me"href="https://bsd.network/@cbracken">Fediverse</a></li> 30 </ul> 31 </nav> 32 </header> 33 <main id="main"> 34 <article> 35 <h2 class="post-title"><a href="https://chris.bracken.jp/2020/05/thoughts-on-licences/">Thoughts on Licences</a></h2> 36 22 May 2020 37 <p>Software licences are probably the single most boring aspect of software 38 development, but it’s important to carefully consider the terms under which the 39 stuff I hack on is shared to ensure they’re consistent with my values. Despite 40 my general dislike for all things legalistic, the most unambiguous way to state 41 those terms is through a licence. So a couple days ago, I tossed LICENSE files 42 into any of my public <a href="/code">repos</a> that didn’t already have one.</p> 43 <p>So how did I settle on which licences to apply? Jump on into the DeLorean and 44 let’s set the dial back to the late 1980s.</p> 45 <p>It’s 1986 and I’ve got a 1200 baud modem wired up to a beat-up 286 with a steel 46 case that would easily allow it to double as a boat anchor if needed. Armed 47 with a dot-matrix printout of local BBSes with names like Camelot, Tommy’s 48 Holiday Camp, and Forbidden Night Castle, I fire up PC-Talk. A series of 49 <a href="https://www.windytan.com/2012/11/the-sound-of-dialup-pictured.html">high-pitched squeals and tones</a> fill the air, then text 50 flashes across the screen. I’m online.</p> 51 <p>BBSes were a treasure trove of information, filled to the brim with zip archives 52 full of downloadable programs, source code, patches for existing programs, and 53 all manner of text files with names like <a href="https://insecure.org/stf/smashstack.html">Smashing The Stack For Fun And 54 Profit</a>. You could find everything from how to crack copy-protected 55 software, to details on phone phreaking, to how to make nitroglycerine from 56 commonly-available household items. It was through BBSes that I first downloaded 57 an I’m sure <em>totally legitimate</em> copy of Borland Turbo C++ and took my first 58 baby steps writing <em>real</em> programs. No more BASIC for me.</p> 59 <p>This culture of open sharing in the online world has had a huge impact on me. 60 From those early experiences with BBSes to my first forays onto the Internet a 61 few years later, seeing people openly sharing code and patches and helping each 62 other solve problems over Usenet seemed almost revolutionary to me at the time. 63 In some ways, it still does. I feel lucky to have been a part of it from such an 64 early age.</p> 65 <p>The end result is that I try to publicly share all the work I do. So when it 66 came time to chuck licences on stuff, I sat down to work out a personals ad for 67 my ideal licence. Aside from enjoying long walks on the beach, it should:</p> 68 <ol> 69 <li>Allow free use, modification, and distribution both of the original 70 work and any derived works.</li> 71 <li>Require that people distributing the work or any derived work to 72 give appropriate credit.</li> 73 <li>Disallow suggesting that I in any way endorse any derived products 74 or whoever produces them.</li> 75 <li>Gently encourage a culture of open exchange and sharing of 76 information and techniques.</li> 77 <li>Be short, clear, and easy to understand.</li> 78 </ol> 79 <p>On the software side, there were lots of options, but the best matches in my 80 mind are the <a href="https://opensource.org/licenses/MIT">MIT</a> or <a href="https://opensource.org/licenses/BSD-3-Clause">BSD</a> licences. The 3-clause 81 ’new’ BSD licence has an advantage in that it required written permission from 82 the author to use their name in any endorsement/promotion of a derived work. 83 That happens to be what we already use for <a href="https://github.com/flutter/flutter">work</a>.</p> 84 <p>On the content side, I’ve always posted my web site’s content under a <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative 85 Commons Attribution-ShareAlike</a> licence. But I don’t believe that’s 86 actually the ideal match based on my priorities. Why is it that I’ve elected to 87 use a licence that requires that derived works also be licensed under the same 88 terms rather than under whatever terms someone feels like, so long as 89 acknowledgement is given? In the end I settled on the more permissive <a href="https://creativecommons.org/licenses/by/4.0/">Creative 90 Commons Attribution</a> licence.</p> 91 <p>This feels to me a bit like the difference between <a href="https://opensource.org/licenses/BSD-3-Clause">BSD</a> and 92 <a href="https://opensource.org/licenses/GPL-3.0">GPL</a> terms, where the latter requires that derived works also be 93 GPL-licensed. This “viral” nature has always rubbed me the wrong way: rather 94 than gently promoting a culture of sharing by example, it legally <em>requires</em> 95 sharing under the same terms whether or not you want to.</p> 96 <p>Personally, I’d like for people to do the right thing and share their work for 97 everyone’s benefit not because they <em>have</em> to, but because they <em>want</em> to. If 98 they don’t want to, why should my reaction be to disallow their use of my work? 99 Isn’t that contrary to my stated goals of sharing as much and as broadly as 100 possible?</p> 101 <p>While I <em>hope</em> that more people share more of their work, it doesn’t bother me 102 if you don’t. If anything I’ve written is somehow useful to you, I’m glad. Use 103 your knowledge to help others and make the world a better place, and if you can 104 find time to do so, share a bit with the rest of us.</p> 105 <p>Got thoughts and opinions on licences? Fire an email my way at 106 <a href="mailto:chris@bracken.jp">chris@bracken.jp</a>.</p> 107 </article> 108 </main> 109 110 <footer id="footer"> 111 <div class="copyright"> 112 <span xmlns:dct="http://purl.org/dc/terms/" xmlns:cc="http://creativecommons.org/ns#"> 113 The content of this site by 114 <a rel="cc:attributionURL" href="https://chris.bracken.jp/about"><span rel="cc:attributionName">Chris Bracken</span></a> 115 is 116 <a href="https://creativecommons.org/licenses/by/4.0">CC BY 4.0</a>. 117 </span> 118 </div> 119 </footer> 120 </body> 121 </html>