Shortly after I finished writing my first post, I realized that I should explicitly license the content that I post here. The primary purpose of this blog is to force myself to think through my ideas critically, make sure that they are complete and coherent, and then to get them out of my head. However, unlike other tools that I use for writing and notes, such as my Moleskine notebook or Evernote, this is visible to the public. If I’m going to put something out there, I should allow it to be used by other people. I’m not expecting a huge following or a large number of active readers, but if someone comes across a post that they think is interesting or relevant, then I would like them to be able to use it – copy, redistribute, remix, transform, or build upon my work. In exchange for this, I only want appropriate attribution.
In order to enable the reuse of my content, I chose two permissive licenses: Creative Commons Attribution 4.0 International (CC BY 4.0) and Apache License 2.0.
Before choosing these licenses, I looked at the sites where I currently or may contribute content, such as the Stack Exchange Network, Quora, or Wikimedia projects. I looked at the licenses and terms of these sites. Contributions to Stack Exchange sites the various Wikimedia projects (with exceptions of Wikinews and Wikidata) require the contributor to grant a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. Quora has a documented policy, but provides the contributor to mark posts as “not for reproduction” that is similar to (but isn’t) a Creative Commons Attribution-NoDerivatives (CC BY-ND) license.
My initial thought was that if I want to put content on this blog that I also contribute to one of these other sites, it doesn’t make sense to use a more restrictive license, as someone could find the content on a Stack Exchange site, Wikipedia, or Quora and use it under those terms. Asking on the Open Source Stack Exchange seemed to confirm these beliefs, although it was pointed out there are cases where it may make sense to have a different license. However, going back to my intention of posting here, I still feel that a less restrictive license is the best option. Since the Creative Commons licenses are well known and understood, I used their license chooser to decide which license was appropriate: allow adaptations to be shared (including other licenses) and allow commercial use. This led to the Creative Commons Attribution 4.0 International license that I chose to apply to my content that I post here.
There is one small hitch with Creative Commons licenses: they are not recommended for use with software (source code or binaries). Since I’m a software engineer, it’s likely that at least some of my posts will contain software source code or binaries. I may also release entire projects that I work on. In most cases, I’d want any source code that I post here to be available under a similar license as the rest of the content.
I looked at the licenses recommended by the Free Software Foundation as well as the popular licenses approved by the Open Source Initiative. I eliminated the copyleft licenses, like the GPL, since software under these licenses can prevent usage in closed-source software and I wanted to achieve the most wide usage possible. Licenses that enforce the distribution of source code, such as the Mozilla Public License 2.0, Common Development and Distribution License, and Eclipse Public License were also not of use to me, since I don’t want to restrict how people distribute software. This left me with the BSD 2-clause license, BSD 3-clause license, the MIT license, and the Apache 2.0 license. The Apache 2.0 license was not only recommended by the Free Software Foundation for small (less than 300 lines) programs and libraries where widespread use of the code or library is important to the authors. The Apache license also provides other features that aren’t in the BSD or MIT licenses, such as preventing the use of names to promote a derivative work and requiring stating what file(s) were modified.
So, unless otherwise specified, the content that I post on this blog is available under the Creative Commons Attribution 4.0 International License (text, images, audio, video, documents, presentations, and datasets) or Apache 2.0 License (software source code and binaries). For personal software projects, Apache 2.0 License is also going to be the standard license, unless there’s a specific reason why it’s not appropriate.
I think that this wraps up the initial meta-posts to get this kicked off. I’ll be back within the next two weeks with at least another post on something more substantial.