Announcement

Collapse
No announcement yet.

LLVM Developers Are Still Working On Their Massive Relicensing Effort

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • LLVM Developers Are Still Working On Their Massive Relicensing Effort

    Phoronix: LLVM Developers Are Still Working On Their Massive Relicensing Effort

    It's been over three years since the original proposal for re-licensing the LLVM compiler infrastructure and while they have reached community consensus on their new "Apache 2.0 with LLVM Exception" license, there's still a big task at hand of getting all past contributors signing off on the process...

    http://www.phoronix.com/scan.php?pag...EOY2018-Status

  • #2
    I'm confused - programs created by compilers never had licenses imposed on them by the compiler......AFAIK.
    Last edited by sandy8925; 12-23-2018, 02:17 PM. Reason: Spelling mistake - damn autocorrect

    Comment


    • #3
      Originally posted by sandy8925 View Post
      I'm confused - programs created by compilers never had licenses imoosdd on them by the compiler......AFAIK.
      Compilers typically include support libraries that they link into the binaries they produce. (eg. the C runtime which is responsible for preparing argc and argv (from whatever convention the host platform uses for passing arguments) and then calling main.)

      Comment


      • #4
        Originally posted by ssokolow View Post
        Compilers typically include support libraries that they link into the binaries they produce. (eg. the C runtime which is responsible for preparing argc...
        You're not incorrect per se. A much more striking illustration however is: Take code generators like bison and flex for example. *Not only* do they link in support libraries/objects, but your program is also *designed specifically* for the generator (or generator family). While `int main(){printf("Hello world\n");}` will pretty much work with any C library (turboc, msvcrt, glibc, musl, you name it), something like
        Code:
        hexdigit [0-9a-fA-f]
        %%
        "==" { return EQ; }
        %%
        static void somefunc(void) {
            YY_BUFFER_STATE b = yy_create_buffer(...);
        }
        has a strong tie on bison/yacc - you could not feed it to another generator like ragel - so strong that it may be considered a derivative.

        Comment


        • #5
          Most compilers and code generators have explicit text in their licenses that exempts compiled/generated programs from the license of the tool itself.

          https://www.gnu.org/software/bison/m...onditions.html

          https://www.gnu.org/licenses/gcc-exception-3.1.en.html

          Comment

          Working...
          X