Releasing Clojure applications with GPLv3

I’m not a lawyer or a software licensing specialist but just a programmer. Don’t use this blog article as your final decision of doing anything, but check original text both in GPL and EPL.

Speaking of software licenses, I personally prefer GPL, and I also like to always use the latest version as much as possible, so I always try to use “GPLv3 or any later version” in my freesoftware products.

GPLv3 logo from

I made a template for lein new to put GPLv3 license info in auto-generated project.clj instead of its default, EPL, since I spent so much time replacing the part every time when I make a new Clojure project. It’s released on here and the repository is on github:

When tweeted that I was planning to make the package on Twitter, @technomancy, the author of Leiningen, mentioned to me about the license compatibility.


So I researched about the licenses’ compatibility. According to GNU, GPLv3 and EPL aren’t compatible (i.e. if you make a GPLv3 project that depends on a EPL package, nobody can redistribute it with the dependency statically linked together,) but you can add an exception clause under section 7 to allow specific dependencies to re-distribute together.

I added COPYING and LICENSE files in the template to let you write the clause in your project. Enjoy!

How to use vimrepress

Assuming you already have neobundle installed, and you are using Gentoo Linux.


  1. make sure youf vim has python USE flag
  2. emerge dev-python/markdown
  3. make ~/.vimpressrc with referring the github repo
  4. install vimrepress

    if has('python')
      NeoBundle 'iyf/vimrepress'
  5. :BlogNew to create a new buffer for start writing a blog post in markdown

  6. :BlogSave publish to post the data and release it

You can also refer the list of blog post to edit by :BlogList

Added on 2015-04-25: this failed with error now and I can no longer use this for some reason.

Moved from Blogger

I have been using Blogger for many years but my blogging tool blogger.vim stopped working because Google abandoned the version of blogger API. I moved from Blogger to!