My father asked me what the difference is between closed source and open source software. We were on a party surrounded with food so I used soup as a metaphor.

Closed source soup is served ready to eat in a bowl at the table by a waiter. Maybe not exactly what you want, but it fits your needs. The waiter charges for the soup. He does not mention that the price of the soup includes his service. Open source soup can be served by a waiter. He does not charge for the soup itself, but he may do so for the service. The soup itself does not cost much to make so you may pay about as much as for the closed source soup. However if you take the effort of walking into the kitchen and get the soup by yourself, you won’t be charged for the service and get the soup for free. The choice is up to you.

The nice thing is, you even get the recipe. Maybe you can’t cook or like to be served. Then you probably won’t make it yourself and pay for the service. Let’s say the soup tastes too salty. If you have the closed source soup, you can only complain at the waiter and hope that next time the soup tastes better. For the open source soup, you can review the recipe and notice a typo in the amount of salt. You can even say there is a typo in the amount of salt instead of just complaining about the taste.

Or you make the soup yourself and find out that adding meat balls is delicious. You give feedback to the original cook with your recipe of the meat balls. The cook may put it on the menu or reject it because it is served in a vegetarian restaurant. Even if the cook rejects the meat balls, you can still serve it to others who do eat meat and spread the recipe.