RubySteps / 21-day-challenge

35 stars 73 forks source link

Adventure 001 Day 02 Retrospective #200

Closed patmaddox closed 9 years ago

patmaddox commented 9 years ago

Day 02 is now completed. Please see #223 for the day 03 retrospective.

patmaddox commented 9 years ago
kotp commented 9 years ago

Rough start, I think.

patmaddox commented 9 years ago

@kotp I will be on the lookout for rubysteps.com links - those are intended for people who have not signed up for the list emails yet. All the main information should be in the repo...

patmaddox commented 9 years ago

some more things I learned...

patmaddox commented 9 years ago

@kotp "rough start" but getting better is the story of my life... :)

reignmaker commented 9 years ago

What if somebody put into his folder somekind of malware? When i sync with upstream i'll get that thing on my computer? What should we do with this?

RobAWilkinson commented 9 years ago

Just don't run anyone else's code and you should be fine

reignmaker commented 9 years ago

It is stil dangerous, no?

patmaddox commented 9 years ago

@reignmaker that's a really great point - and something that I've thought about a bit. It's why nothing gets automatically merged... it all requires me to take a look at, and be on the lookout for anything.

There's a trust inherent in open source. Think of how much software you're running where you haven't looked at the code... it's kind of scary.

@RobAWilkinson is right - you don't run code unless you understand it.

So in a scenario where someone uploads malware... first, you shouldn't run something unless you know exactly what it does! So in a sense, you're protected - unless you do something kind of foolish.

Second, we currently have me reviewing all pull requests. The more that people pitch in there, the more protected we are.

Finally, I generally assume that people involved in this project are well-intentioned and want to help others rather than harm them. That's not everyone in the world, of course, but it's a good default for this project.

So we have three levels of responsibility here:

  1. Personal. YOU need to look out for yourself. Don't run code without understanding it! If you see something that troubles you, comment on it, or create an issue.
  2. Team. The collaborators on this project are a team. We care about one another, and we look out for one another.
  3. Social. There are a lot of trouble-makers in the world... but the vast majority of people aren't. The kinds of people who are attracted to this project, want to help people. We can trust people as a default, and be on the lookout for bad actors.

It's possible that this project eventually gets too big for me to handle. That means I'll need to enlist others to help out. That means trusting them... based on my experience with them.

Thanks for bringing this up. It's an important issue that I've thought about, and I'd love to know what others think about it.