
Reddit source code - anonfunction
https://github.com/reddit/reddit/
======
jzwinck
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...](https://github.com/reddit/reddit/commit/90cfcaaecc56cf35e75824e69793fe596771d0d9)

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

~~~
buro9
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.

~~~
taspeotis
> In essence it's because there is a very large number of lazy programmers who
> live by cut and paste.

I've had programmers copy and paste GPL'd code into proprietary projects I'm
responsible for. It's not laziness it's ignorance. "What's a GPL?"

~~~
fit2rule
I've shipped hard product with GPL onboard and in use. Its great! I've also
complied, 100%. Also great!

Laziness, ignorance, irresponsibility. Or: usage.

~~~
taspeotis
> I've also complied, 100%

The cards I'm dealt are "proprietary projects". I comply 100% too: we don't
ship GPL'd code. We've gotten close, though (c/o what I mention above).

------
EGreg
Wow I am impressed that a commercial social networking software company open
sources their entire codebase.

~~~
lclarkmichalek
They don't open source 100%; the anti spam and vote obfucation stuff isn't
there

~~~
jsmthrowaway
Recent changes nearly dropped the obfuscation stuff in its entirety, anyway.

------
nttdocomo
Dear lord that JavaScript is painful to read. I want to submit a pull request
and fix all their semicolons.

~~~
madlee
FWIW, there _is_ a proper styleguide now, it just hasn't been retroactively
applied to older js.
[https://github.com/reddit/styleguide/tree/master/javascript](https://github.com/reddit/styleguide/tree/master/javascript)

~~~
nttdocomo
Nice, looks like they went with a slightly modified version of airbnb's js
styleguide. That's what we use at work.

------
Grue3
Would've been more interesting if they released the original, Common Lisp
code.

------
halayli
It's a pain that they are stuck with pylons, an unmaintained framework.

~~~
Luyt
Why would that be a pain? Apparently it works for them, and is stable enough.

Now, if pylons turns out to be a roadblock to an expansion they want to make,
that'd be a reason to swap it out for something different.

~~~
halayli
It's a pain because they have no community support, new security bugs can go
unnoticed and many other issues that can arise because of lack of maintenance.

Pylons most probably won't roadblock them but will definitely bring a lot more
challenge.

------
fit2rule
Isn't reddit already a re-write of slashdot and digg and so on .. and on it
goes?

Me, I see no difference between reddit now, and USENET of the 80's/90's.
Except that reddit isn't distributed, by nature, but rather .. empirical ..

I still use USENET. Its a quite place now the kids have all grown up and left
the basements...

------
iowai
I once was an intern in a company that wanted to rewrite the whole Reddit code
in .net. The founder was a charming person and managed to raise a huge pile of
money. "We can redo this with current technology and elegant design! We will
run circles around Reddit!".

We had a great time. Free snacks, lot's of parties, luxurious office
furniture, skateboarding in the hall... In the end, the company ran out of
money before the product reached a useful state.

Good times. It has been some time since then and I have a "normal" job now.
Last thing I heard about the founder is that he started a new vc backed
company destined to run circles around something.

~~~
cpach
That’s odd. As if the programming language itself is what makes Reddit what it
is :)

~~~
weego
Unfortunately from my experience, people thinking that background technology
choices can give them a consumer advantage is not that uncommon.

~~~
TeMPOraL
Well, they're right pretty much by definition - otherwise it wouldn't matter
at all what technology you use. You could code your CRUDs in Brainfuck
connected to MongoDB. In real world, you gain consumer advantage by e.g.
chosing right database for the problem, or playing to language's strengths
(which is what pg done at Viaweb).

------
fletchowns
Where's the Vagrantfile?

~~~
bdcravens
On your computer until you git push and submit your pull request? :-)

