Skip to content

Change the license of the runtime to LGPL #114

Closed
@sebastianpoeplau

Description

@sebastianpoeplau

TL;DR We're asking contributors for their approval to change the license of the runtime portion of SymCC from GPL to LGPL.

What?

At the moment, all of SymCC is made available under the terms of the GPL, version 3 or later. We would like to relicense the contents of the runtime directory (i.e., the runtime library that programs under test link against) under the terms of the LGPL, version 3 or later.

Why?

A major goal of SymCC is to serve as the basis for research and experimentation in symbolic execution technology. Consequently, when we published the code, we chose the GPL to make sure that everyone would be able to use the code, and that improvements would be contributed back.

Unfortunately, our choice of the GPL is having an unintended side effect: some users are afraid to test their software with SymCC. They fear that building their program with SymCC, as part of which it is linked against the SymCC runtime, imposes requirements on their software. This is not at all what we intended!

So, to be clear about our intentions, we want that (1) developers who modify SymCC give their improvements back to the community, and (2) users can test any software whatsoever with SymCC, without having to fear that we put claims on their work. The GPL enforces (1) but leaves some users worried about (2); we expect the new license, LGPL, to clarify our stance on (2) while still enforcing (1).

How?

We developed the initial version of SymCC while I was employed at EURECOM, which therefore holds the copyright on a large portion of the code. However, since its publication, SymCC has received several external contributions (which we are really grateful for!). As per section D.6 of GitHub's Terms of Service, those external contributions are licensed under the repository's license, but the contributors retain their copyright. We therefore ask all contributors of code in the runtime directory for their approval before making the change.

(The list is based on git log --pretty=format:%an runtime | sort -u. We manually removed authors of code changes that don't meet the threshold of originality.)

Please, if you're in the list above, would you let us know in the comments whether or not you approve? Also, if you have any questions about the planned change, don't hesitate to talk to us, either publicly in the issue comments or privately via email.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions