Implications of the Eclipse license for projects using AsyncSSH

23 views
Skip to first unread message

Nicholas Chammas

unread,
May 28, 2015, 5:21:40 PM5/28/15
to asyncss...@googlegroups.com

I’m working on porting a new project to use AsyncSSH (from Paramiko). Once that’s done, I plan to open source it.

Before accepting AsyncSSH as a dependency, I’d like to understand the Eclipse license a bit better, since it’s not as common as the MIT and Apache licenses that I am more familiar with.

GitHub’s ChooseALicense says this about the Eclipse license:

Eclipse
This commercially-friendly copyleft license provides the ability to commercially license binaries; a modern royalty-free patent license grant; and the ability for linked works to use other licenses, including commercial ones.

My main questions are:

  1. Can I release my project under any license I want?
  2. What restrictions stemming from my use of AsyncSSH are placed on people using my project?

Ron Frederick

unread,
May 28, 2015, 10:44:18 PM5/28/15
to Nicholas Chammas, asyncss...@googlegroups.com
On May 28, 2015, at 2:21 PM, Nicholas Chammas <nicholas...@gmail.com> wrote:

I’m working on porting a new project to use AsyncSSH (from Paramiko). Once that’s done, I plan to open source it.

Before accepting AsyncSSH as a dependency, I’d like to understand the Eclipse license a bit better, since it’s not as common as the MIT and Apache licenses that I am more familiar with.

GitHub’s ChooseALicense says this about the Eclipse license:

Eclipse
This commercially-friendly copyleft license provides the ability to commercially license binaries; a modern royalty-free patent license grant; and the ability for linked works to use other licenses, including commercial ones.

My main questions are:

  1. Can I release my project under any license I want?
If your program only depends on AsyncSSH as a library and doesn’t include any of the AsyncSSH source code (or modified versions of that code), you are free to release it under any license you want. Such code is not considered a “derivative work” under the EPL, and so it would not be subject to any of the EPL licensing restrictions.

You would even be free to ship an unmodified version of AsyncSSH bundled with your code and commercial license the result. However, you would not be allowed to redistribute any of the AsyncSSH code under a different license such as GPL or BSD. You could distribute your pieces under another license (if they were not derivative works of the AsyncSSH code), but the AsyncSSH code itself would need to either be downloaded separately by the user of your software or shipped by you under the terms of the EPL.
  1. What restrictions stemming from my use of AsyncSSH are placed on people using my project?
The same restrictions would apply to anyone who wanted to modify any of the AsyncSSH code or use modified version of the AsyncSSH code in their project. However, only your license’s restrictions would apply to whatever code you wrote that wasn’t based on AsyncSSH. So, if you didn’t ship AsyncSSH with your project and only used it as a library and licensed your code under a permissive license such as BSD, someone using your project could make whatever changes they wanted to your code without the EPL applying to it. It would only apply if they downloaded AsyncSSH and wanted to make changes there.

The main reason I chose the EPL over BSD/MIT is that I wanted any derivative works of AsyncSSH which were released publicly to have to be available in source code form, so I could see what sort of changes people were making to it. At the same time, though, I wanted to let people write code that used AsyncSSH without modifying it and release their projects under whatever license they wanted with no restrictions, either as open source or commercial software. Something like GPL would not have allowed for that, but EPL seemed to fit the bill.
-- 
Ron Frederick



Ron Frederick

unread,
May 28, 2015, 10:48:09 PM5/28/15
to Nicholas Chammas, asyncss...@googlegroups.com
Sorry, I also meant to include the following link. It answers a number of questions about the EPL:

Nicholas Chammas

unread,
May 29, 2015, 12:11:35 PM5/29/15
to Ron Frederick, asyncss...@googlegroups.com
Thank you. This answers all of my concerns.

So in summary, it sounds like for people using AsyncSSH as a library (which will be the vast majority, I imagine) as opposed to modifying AsyncSSH itself, having AsyncSSH use the Eclipse license is not that different from if it were to use licenses like MIT and Apache.

Sweet.

Nick

Ron Frederick

unread,
May 29, 2015, 1:12:26 PM5/29/15
to Nicholas Chammas, asyncss...@googlegroups.com
On May 29, 2015, at 9:11 AM, Nicholas Chammas <nicholas...@gmail.com> wrote:
Thank you. This answers all of my concerns.

So in summary, it sounds like for people using AsyncSSH as a library (which will be the vast majority, I imagine) as opposed to modifying AsyncSSH itself, having AsyncSSH use the Eclipse license is not that different from if it were to use licenses like MIT and Apache.

Yup - that was exactly the intention!
-- 
Ron Frederick



Reply all
Reply to author
Forward
0 new messages