Skip to main content
2 of 2
Added CoffeeScript analogy
200_success
  • 145.7k
  • 4
  • 114
  • 284

I agree with @JamesKhoury.

The GNU GPL defines "source code" as "the preferred form of the work for making modifications to it". For the author of the question, that means the version of the code with the meta-programming annotations.

It does not make sense to review the post-processed form of the code, because we would then be critiquing auto-generated code, which isn't something that the author has full control over. (As an extreme analogy, consider CoffeeScript. You wouldn't compile it into JavaScript, then review the JavaScript.)

We gladly accept code that requires the various CSS preprocessors. We would also accept Perl code written using Moose — a similarly transformative third-party library for meta-programming. The objection, I believe, is not to the fact that the code requires a preprocessor, but that this particular preprocessor is (currently) obscure. Although it is a third-party dependency, it's not a particularly onerous one: the preprocessor is MIT-licensed, and all you have to do is include it in your classpath when compiling. In that sense, it is not any more of an inconvenience compared to other dependencies such as Apache Commons or Joda Time.

As for that particular question, I believe that replacing the original code with the post-processed code was an invalid edit.

If you don't like the Lombok preprocessor, you could create a tag so that you can choose to ignore such questions in the future. Now that the question has been replaced with post-processed code, though, taking that option would make a further mess of things.

200_success
  • 145.7k
  • 4
  • 114
  • 284