markdown guide
 

You build a house with Legos, and you're really proud of it.

Your friend Johnny comes over for a playdate and he adds another level to the house, and a different color door.

The next day your friend Oscar comes over and he changes the walls of the building to make it look better.

Your friends Sophie and Alex come over to the day after that, and Sophie builds a new, nicer-looking building and connects it to yours. Alex fixes a few stray blocks in Sophie's new building.

A month passes, and so many of your friends have come over and changed the buildings and added buildings of their own. The original small building you were proud of has now become a city!

And that's all because you worked with your friends to build it.

β€” Fred

 

When your friend Johnny comes over, he has an exact copy of your house built using his own Legos. Johnny makes some changes to his copy and shows you what he did. You can then add those to your house, allow Johnny to add them or discard them and keep the left over Legos for free.

 

Okay but can we talk about the beauty that is this analogy?

 
 
 

It's like cooking.
We sell our food to customers,
but we also share our recipes between us,
some follow the recipe line by line,
others interpret it in their own way

Contributing to Open-Source feels like dancing Tango:

  • it feels weird to interact like this with a total stranger
  • keep it simple and focus on making a connection
  • to really understand that social dance, be both a contributor and a maintainer
 

When mommy wants you to share your legos with your siblings, and you have to let them change or add things, even if you build something, and you can't cry about it.

 

πŸ˜‚ Legos are great to use for explaining this concept!

 

Except that what you built is still sitting in your hands. Mommy gave each sibling an entire new box of legos.

 

Do something and show how you did it so others can learn and fix it if something is wrong or even making it better.

They have to share what they did, which is great!, they are making your stuff better, for free!.

 

They do not have to share what they did. They can share it, and you can choose to ignore it and keep what you built.

 

With GPL if they want to redistribute they have to, the owner can choose not to take it, but they do have to share it. Of course you can change it and keep it to yourself without sharing but is a tree falls ...

 

I feel these explanations are too optimistic. When simplifying something like "open source" down, we end up missing out important distinctions, and people say things like, "anyone can use it" or "anyone can contribute to it", which isn't always the case.

More importantly - and this is critical to the formative years of a 5-year-old - "Lego" is its own plural. Grr.

 

(might work for 5 year olds with long attention spans or who are very interested)

fyo: what is open source? Is it like ketchup?

me: No, open source is a way programmers allow people to use their work. Do you remember what a programmer is?

fyo: someone who makes a computer do different things than it already can?

me: that's right, and we do it by writing code. Do you know what code is?

fyo: no

me: code is a special way of writing instructions for a computer to follow.

fyo: ok

me: We call the code that makes up an app "source code", or just "source".

fyo: so the apps on a phone are made of source?

me: exactly. So, as you know my job is a programmer, so I write code for a company. When I write code for them, I have agreed that they own the code, so I can't share it with other people. When someone won't let you see the code for an app, that is called "closed source".

fyo: ok

me: The company doesn't have to hide the code, though. They can let other people outside the company see and use the code to make their own apps. Then the code is "open source".

fyo: oh. thanks.

 

you OPEN the SOURCE code for others to see, change and develop upon.

There are two types of people:

  1. Who like to create
  2. Who like to contribute
  3. Also, a third type who do both.

For people who like to create
It gives them ability to showcase their code, let other people help them in building it and let other people have their own version of your app

For people who like to contribute
it gives them ability to contribute to their favorite apps/libraries.

cool part?
it doesn't ask for experience or no need to go through hectic interviews! just write code and submit it and boom! the new shiny cool famous library would have your code in it!!!

 

Well open-source kido is a way for software engineers programmers to collaborate online with other like minded people that they might never met in person but they do still choose to work on same project which is a common ground for them both.

Also kido there are no bosses here there are people who work more on the project and they usually regulate contributions but in anyway in open source you are always encouraged that if you want to make your own spinoff you just do it take a source code fork it and continue in your direction.

 
 

It’s like sharing your candy with your class and everyone says it’s yucky

 

Clean up, clean up. Everybody everywhere. Clean up, clean up. Everybody do your share!

 

It's like ideas. Sometimes free, sometimes not.

 
Classic DEV Post from Oct 11

What was your win this week?

Got to all your meetings on time? Started a new project? Fixed a tricky bug?

Peter Kim Frank profile image
Working on a bit of everything at DEV. He/Him