Arc Forumnew | comments | leaders | submitlogin
1 point by rocketnia 3238 days ago | link | parent

Sorry for being the complainer who changed your default license. :-p For one thing, after that time we talked about this, as I tried to justify my complaints, I ended up feeling way more comfortable with the Artistic License 2.0. Mostly though, I'm just really hard to please when it comes to licenses. I'll demonstrate. :-p

(Note from my future self: Since I'm not going to get around to this later in the post, I just want to say that I like your metric of choosing a license based on how easy it is to understand. ^_^ )

I still have a pretty fundamental objection to the AL 2.0: It doesn't let a branching project become its own thing. Even if it ends up having little in common with the original, you can't distribute "Compiled forms" without providing instructions for obtaining a copy of the original.

Aside from that, for all I know as a non-lawyer, a project that's grown completely out of its roots might have to be fully documented! :-p

  ...provided that you clearly document how it differs from the Standard
  Version, including, but not limited to, documenting any non-standard
  features, executables, or modules...
I'm troubled by the idea of licenses that try to define compilation. The AL 2.0 defines the "Compiled" form as "the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form." What happens if someone refactors the code in an IDE?

Here, the spirit of the license is what counts (I assume), and there's a clear line. But some projects horribly blur that line. GCC needs a special exception to the GPL so that the C runtime pieces it includes with executables don't pollute those binaries with GPLness. In a language where people program by writing languages, do all their languages need exceptions like the GCC's? What about exceptions nobody's even dreamed of yet, to deal with all new kinds of code modularity and transformation?

As far as I know, the only consistent source-ownership stance someone can take if they want to make great strides in program modularity and transformation is a permissive one. There's no option. All the nonpermissive free software licenses I've looked at assume too much about the languages they'll be applied to, but it's hardly their fault; somehow they have to distinguish maintainable programs from obscured programs, everyday engineering from reverse engineering.

This isn't something I expect to be solved on the technology side, say by making reverse engineering so incredibly easy to do that there's no reason for free software advocates to object to compilation or obfuscation. Software-as-a-service isn't amenable to inspection this way. And I hardly expect to solve the problem socially or economically by convincing everyone in the world that it's valuable to choose permissive licenses. The easiest solution is probably a particular kind of license after all.

Whatever licenses these are would have to maintain their source-ownership stance even as their projects evolved new and unexpected kinds of modularity and transformation. Permissive licenses basically do this (as I said), and a maximally nonpermissive license (comparable to the AGPL) would have to start with a seed like this, and get more specific and legalesey:

  You are allowed to distribute and license this product only under the
  following conditions:
   - You expect a large market of people will promptly have a reasonable
     way to obtain technology and knowhow comfortably substitutable for
     that you actually used to develop the product. This includes any
     source code.
   - You expect that your lessees will promptly have permission
     comfortably substitutable for the permission you actually exercised
     to develop, distribute, and license the product.
   - You give your part of that permission immediately and indefinitely.
   - You don't refuse to distribute and license this product to any
     potential lessee on the basis of how possible it is for that lessee
     to obtain that technology, knowhow, and permission.
   - You allow your lessees to develop modified versions of this
   - You require your lessees to accept these terms as you did.
  This license continues to apply to a product if it is modified,
  including actualizing the product by performance or execution.
Note that if a license like these lines actually comes to exist, I probably won't even use it myself most of the time. I'm just frustrated at having a lack of good options.