Live data from Hacker News

Reddit source code

github.com

1–10 of 58 posts

Re: Reddit source code

#3
What causes people to need to sprinkle license boilerplate everywhere, including in files which are otherwise completely empty (like r2/r2/config/__init__.py), and then to have to update them every year? See this commit: https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e758...

It just seems to defy reason that we must make humans increment a number every year in every file in our projects, nevermind the fact that the top 20-30 lines of every file in our projects has been taken over by stuff most readers don't actually need to read (again and again).

Is this really the best we can do without somehow letting the bad guys take our home away due to some licensing gotcha? Like simply having this at the top of each file:

    # see the top-level LICENSE file

Re: Reddit source code

#4
post #3

What causes people to need to sprinkle license boilerplate everywhere, including in files which are otherwise completely empty (like r2/r2/config/__init__.py), and then to have to update them every year? See this commit: https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e758... It just seems to defy reason that we must make humans increment a number every year in every file in our projects, nevermind the fact t…

empty __init__.py declare a python module. see http://stackoverflow.com/questions/448271/what-is-init-py-fo...

Re: Reddit source code

#5
post #4
post #3

What causes people to need to sprinkle license boilerplate everywhere, including in files which are otherwise completely empty (like r2/r2/config/__init__.py), and then to have to update them every year? See this commit: https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e758... It just seems to defy reason that we must make humans increment a number every year in every file in our projects, nevermind the fact t…

empty __init__.py declare a python module. see http://stackoverflow.com/questions/448271/what-is-init-py-fo...

I am well aware of why an empty __init__.py is necessary. It is less clear why one must add license boilerplate to such a file: https://github.com/reddit/reddit/blob/master/r2/r2/config/__...

> you may not use this file except in compliance with the License

This is patently absurd: the file contains no content other than the license itself, and arguably its name (which is shared by millions of other __init__.py files around the world).

Re: Reddit source code

#6
post #3

What causes people to need to sprinkle license boilerplate everywhere, including in files which are otherwise completely empty (like r2/r2/config/__init__.py), and then to have to update them every year? See this commit: https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e758... It just seems to defy reason that we must make humans increment a number every year in every file in our projects, nevermind the fact t…

If you think that's bad, you should see the many people who tried to copyright an empty file: http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html

Re: Reddit source code

#7
post #3

What causes people to need to sprinkle license boilerplate everywhere, including in files which are otherwise completely empty (like r2/r2/config/__init__.py), and then to have to update them every year? See this commit: https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e758... It just seems to defy reason that we must make humans increment a number every year in every file in our projects, nevermind the fact t…

The legal department, not the programmer, probably dictates that the copyright headers must be in each and every file.

Re: Reddit source code

#8
post #3

What causes people to need to sprinkle license boilerplate everywhere, including in files which are otherwise completely empty (like r2/r2/config/__init__.py), and then to have to update them every year? See this commit: https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e758... It just seems to defy reason that we must make humans increment a number every year in every file in our projects, nevermind the fact t…

I do this too and so why do I do it?

In essence it's because there is a very large number of lazy programmers who live by cut and paste. We're not just talking the "I've found a solution on Stack Overflow and will use that", but more "I've searched Github for keyword + language and this file does what I need".

The files are copied into their projects in its entirety, sometimes whole libraries are, and those programmers never bother to check how a project is licensed.

Once this process has been repeated a few times the code is firmly detached from the licence and any original license is ignored.

If I use the suggestion you make, then by them copying files into their project they have changed the licence of a file (it now inherits whatever their project uses).

Though I do like the idea of a stub instead of the full thing:

    # Licence: BSD (3-clause) https://github.com/owner/project/LICENCE.md
That would be enough to describe the licence for the file in a way that survives cut and paste, whilst also providing a URL for the full licence details.

In fact, I will now probably shift to that.

Re: Reddit source code

#9
post #5
post #4

Earlier quoted context omitted.

empty __init__.py declare a python module. see http://stackoverflow.com/questions/448271/what-is-init-py-fo...

I am well aware of why an empty __init__.py is necessary. It is less clear why one must add license boilerplate to such a file: https://github.com/reddit/reddit/blob/master/r2/r2/config/__... > you may not use this file except in compliance with the License This is patently absurd: the file contains no content other than the license itself, and arguably its name (which is shared by millions of other __init__.py files…

Ah. Sorry, I didn't understand this point. I agree it is totally superfluous to declare a license on an empty file.

But I assume that they have this header on every file as part of their internal process. Hence, they don't make an exception for empty files. I would book it as a cost of this process.

Also, it is handy if somebody starts appending to it ( i.e. https://github.com/reddit/reddit/blob/master/r2/r2/lib/autho... ) , they don't need to take care of that the license is correct.

Post reply on HN