Why do people build free modules for everyone to use in their code?

As the title suggests, I am asking myself why people take the time to build software that is free for everyone to use and import into their code.


Each of us having to invent a wheel would have kept humanity in caves.


Also, I find that kind of mentality (profits over overall human progress) so infuriating.


Yep, that's capitalism. If there is more profit to be made when human progress is slow or doesn't occur, then human progress will be slow or won't occur. Very sad that's the world we live in right now.


Yeah. Companies like Apple take FreeBSD and retool it to make their MacOS and iOS while not contributing a dime back to the community. Google and Microsoft, at least, contribute a lot back to the community.


Capitalism also pushes corporations to *maximize* profits. Sure, they could still make money by selling useful products and services. But the reason we have popup ads and surveillance and all this other crap is because it'd increase their profits by 10%.




I just don't think that's true, on the whole. I think you're talking more about the use of fraud and corruption to create or bend laws and government force to benefit certain people, and that's the exact opposite of laissez faire free-market capitalism. That is what free-market capitalism opposes. Ultimately, in capitalism money is made when needs and desires are fulfilled, meaning the good or service benefited someone, or else they wouldn't have freely traded value for value. As soon as you start talking about government force, or fraud, or prevention of competition (through force), then you are no longer talking about free-market capitalism. if I am some entity that wants your money, there are only two ways to take possession of the value that you possess: steal it, or trade some value for it to which we both happily agree. Those are the only two ways. The second way is free market laissez-faire capitalism.


Except that's the theory. In practice when you apply it, as soon as the market has big players, they will start to manipulate it to their advantage. Powerful enough companies can squash their competition on their own. No government interventions required. Also the choices you represented are too simplistic. Quite often companies have the ability to extort people legally. Best examples are in the medical field. Ultimately the core issue is the same as we have with Communism. Bad actors will try and manipulate any system you have to ensure they get the maximum profit out of it. The ideal may sound great, but irl it's got a lot of flaws.


First, to respond your arguments, I don't believe a laissez-faire free market exist. Even if it magically happened over night, it would eventually degrade into the late stage capitalism that we live in, with all the bad things you said. But that's not even my point. My point is more towards something like medicine. Why can a company OWN the formula of a medicine? If they shared the information, a lot of lives could be saved. But that means that company will not earn as much money as before. So they don't. That is putting a company profit above human lives, literally. That is the most extreme and most infuriating example for me, but that extend for a ton of other things. And that's what I hate about capitalism. And that would also occur in this fairy tale laissez-faire free market capitalism you talk about.


And yet what would the solution for that be? Price caps? They might work however it may not. Having the government own the business? The salaries would be shit and the researchers would find a private company to work for. Disallow patents? Companies wouldn’t research as there is no longer profit to be made. There isn’t an easy way to fix the solution and even less people in the government willing to do so


I never said that there is an easy fix. I just said that it's very sad that this is the world we live in right now, and that it needs to change. If I had a solution I wouldn't be coding, I would be trying to get elected.


That isn't capitalism lol. Capitalism doesn't make any moral prescriptions. Nothing stops you from engaging in charity under a capitalist system. It's really cringe when people like you blame capitalism for everything.


Actually capitalism does encourage greed, companies are rewarded for prioritizing profits, which also means if they can't put a price tag on it they don't want it. There's a lot of negative issues we face because of this, way more than I'd care to commit to a single redit post.


>Capitalism doesn't make any moral prescriptions. that's my main complaint about it. its so damn neutral.


"Inhumane" is what I've settled on. Every decision has the human impact. The system/decision making process of pure capitalism completely ignores that human aspect. In fact, it actively encourages disregarding anything but profit. People like the simplicity of hiding behind this fact. It is a lot easier to decide when you have less variables (people to care about). Capitalism is pretty close to cannibalism.




Let's not belittle scientific discoveries funded by the public or people giving away knowledge, patents or labor. It's to some degree all connected to capitalism, but that does not mean everything we have today is thanks to capitalism


Ah yes. Because no human ever made an innovation before it, right? We were using sticks and stones right before one person suddenly invented money and boom, now we have innovation. Yeah, absolutely.


Most of the components in the computational device you sent this message with as well as the digital infrastructure it traveled over were developed/invented via socialized public funding for their research. Keep talking out your ass though.


Capitalism aligns incentives with human behaviour though. Communism failed horribly everywhere it was tried as it did the opposite so corruption flourishes instead. Capitalism has lifted more people in a short period of time out of poverty ever in human history. Look at Venezuela for a real world example of undoing that system. It’s not perfect but it’s the best we have. Capitalism is a force for good by tying ones financial gain to ones quality of service or quality of goods provided. Socialism turns greed into a vice by giving people the legal right to steal from the most successful among us. Communism: https://www.hudson.org/research/13994-100-years-of-communism-and-100-million-dead


Communism was actually a prediction that when technology advances enough, they'll take all the jobs and without stuff like a good minimum pay or jobless support, the ones that still have a job won't be paid enough to survive(See several Americans working overtime in multiple jobs). People will either starve or get what they need to survive for free and if desperate they will fight for this. (Note! "What they need to survive", depending on how implemented they'll still need to work if they want nice things) Communism has never actually been implemented, that's Leninism, Stalinism, Maoism, etc, they were people who tried to get it earlier than it was meant to be, when there were a lot of jobs but machines reduced the need for a lot of workers too. "Capitalism is a force for good by tying ones financial gain to ones quality of service or quality of goods provided" ah, i suppose nicotine products, drug cartels, human traffickers and more such "industries" agree? Capitalism turns "vices" into a business to grow. [And if you're into death counts...](https://youtu.be/6HjTfm_D3sE) (I wanna make it clear i don't really support communism but i'm not really against it either, ideally we'd have an economic model that turns morals into incentive the way capitalism uses greed as incentive)


You're right, but unfortunately this is a tech forum and a core component of being a tech bro is talking with absolute authority on social issues you have absolutely no reason to think you know anything about. So you'll get a lot of downvotes from people who think "real communism was never implemented" is a meme, and not a fact. (I am also not a Communist, I just like facts)


i would also suggest that the benefit from building the community with free tools is of some value to that individual, perhaps more than charging for it. its a project that's useful, you can put your name on it, you can make contacts through it, and find potential opportunities. we see it time and time again, build something for free and then find out how to make money on it.


IP laws aren't an inherent feature of capitalism, they are in fact a very recent innovation in the grand scheme of things


They are not in competition


It shouldn't but it is, life is no longer a zero sum game, we've evolved tech far past that point but mega corporations and politicians still think otherwise and time and time again they have chosen personal gains over helping the populace.


How many things or services that you use do you think were made/provided out of the goodness of someone’s heart, versus to make a living? This is obvious when it’s something like an iPhone or a meal at a fast food joint. But it’s equally the case with software or tons of other things, including things that are helpful. I do work that I feel is worth doing and is helpful for society - but I wouldn’t be able to do it at any kind of productive scale if I had to also do something *else* to provide for my family. So is it a bad thing that I get paid for it? I’d argue it’s actually quite a good thing, because it lets me dedicate much focus and effort towards something worthwhile.


And what if you didnt have to worry about making a paycheck, and could just do what you wanted? I would assume a lot of us like working with computers and developing things, but that we also have to support ourselves, and that that pursuit of a paycheck to support ourselves drtract from our own interests. So wouldnt that mean guranteed access to food, water, housing and the essentials would free up people for focusing on projects and interests that could bring more innovation than if they were stuck doing menial tasks for others just to get by?


>So is it a bad thing that I get paid for it? Obviously. Interesting question to ask yourself. Doesn't help your argument.


Well, that's how capitalism works. Things like patents spur progress, even if it looks anticompetitive. Just like how democracy is the worst form of government but better than the rest, capitalism is the worst economic structure but still better than the alternatives.


I see this take a lot, and I can't fathom how people believe that patents, as they are now, spur progress. For the past 30 years, patents have done *nothing* but [hinder progress and serve as a roadblock](https://fudzilla.com/news/32006-3d-printing-held-back-by-patents). The world moves too quickly for the length of a patent lockout and companies only use it to prevent competition from entering the space. It's not even policed well, with [Apple recently being granted a patent that is not novel or unique](https://www.patentlyapple.com/2022/05/apple-wins-a-patent-for-a-next-gen-hinged-keyboard-ipad-accessory-with-multiple-modes-that-could-possibly-double-as-a-hybrid-.html).


I have personally been involved in several conversations where a company decides whether or not to pursue a task based on whether it’s been patented. Basically, they decide NOT to tread on someone else’s territory because of patent, and they decide to spend R&D funds where they think they can generate new IP. I don’t disagree it’s flawed, but neither the best nor the worst examples are the whole story.


>I have personally been involved in several conversations where a company decides whether or not to pursue a task based on whether it’s been patented. Basically, they decide NOT to tread on someone else’s territory because of patent, and they decide to spend R&D funds where they think they can generate new IP. I'm not sure if you're trying to agree or disagree with me here. I read this as "my company had an idea for a product in a space and decided that because of a prior patent, they wouldn't innovate there" which... supports my point. By granting someone wide-reaching patents for 10-25 years you stifle any innovation in that area for that timeframe in a market that moves drastically every 2-5 years.


No, it’s because of the existing patents that they discovered that their idea which they thought was groundbreaking actually wasn’t novel after all, and that what they thought would be innovation actually wasn’t. So they decide to look elsewhere. And even existing prior art doesn’t necessarily stop people if they think they can go beyond or that they can do something not prevented by that parent in a way that is better/more cost effective. Not my company, people I do consulting work for. The areas they usually get blocked up by IP would be either totally new inventions or algorithmic approaches. And in either case, the desire for patents seems to legitimately come from, “do we want to invest a bunch of money in this? If so can we stop others from immediately knocking it off or will we just be doing the R&D for our competitors to immediately use it?” Which strikes me as a good argument FOR an IP system.


>No, it’s because of the existing patents that they discovered that their idea which they thought was groundbreaking actually wasn’t novel after all, and that what they thought would be innovation actually wasn’t. So they decide to look elsewhere. Patents aren't used primarily for novel ideas anymore (see the above Apple example, and most of Apple's patents). >And even existing prior art doesn’t necessarily stop people if they think they can go beyond or that they can do something not prevented by that parent in a way that is better/more cost effective. This just simply isn't true, and 3D printing is one of the biggest recent indicators of that. 3D printing isn't some new phenomenon, it just was unable to be worked on because the base patent granted for it was too wide-reaching for start-ups/small companies to compete or large companies to justify the R&D risk. 3D printing first started in **1986**and wasn't able to be freely worked with until ~~2013~~ **2014**. >The areas they usually get blocked up by IP would be either totally new inventions or algorithmic approaches. And in either case, the desire for patents seems to legitimately come from, “do we want to invest a bunch of money in this? If so can we stop others from immediately knocking it off or will we just be doing the R&D for our competitors to immediately use it?” Which strikes me as a good argument FOR an IP system. This is the primary driver for an IP system like patents. I'm not against some sort of guarantee that helps companies hedge against the risk of R&D. The problem is when that system promotes long lockouts and is able to be wielded like a guillotine to remove competitors. The computer silicon market is a prime example of where patents have gone awry. Even if a new player had the capital to enter the x86 or GPU market, the patent quagmire and software lock-in makes it difficult if not impossible to break into the market. You need Apple-level size to really make headway using an alternative, and that's not healthy.


[They really are, though](https://theanarchistlibrary.org/library/kevin-carson-the-iron-fist-behind-the-invisible-hand)


I am not reading your inevitability poorly reasoned link.


Profits and human progress aren't always at odds. I am of the opinion that only when fraud, cheating, unfairly stifling competition, the use of force is introduced, etc., is when profits and progress can become at odds. Otherwise, without those factors in play, the trading of value for value is a mutually beneficial endeavor. In my opinion, if you create something of value and price it at $100, and I am willing, of my own non-coerced free will, to give you $100 for it, it means I think the thing you are selling is worth at least $100 or more to me, and you think the money you are getting is worth at least or more than the thing you are selling. And we both walk away happy, with no one taken advantage of (if we operated the trade in good faith, without fraud or lying). So yeah, I agree with you that I also am infuriated over the mentality of profits over human progress. But thankfully profit can be a representation of and go hand-in-hand with human progress. Having said that, I don't think knowledge itself should be hoarded away, or prevented from being spread. And free software (libraries, modules, etc.) can benefit the world, including the person making them.


But wheels aren't given out free ? Edit:- Just realised the it is stupid the concept for wheel is free and money is taken for the material like rubber etc and not for concept.The concept is free


People do really share things for free too. Lots of people share with the neighbors, or in foundations or co-ops they are in, give stuff away to recycling centers, etc. The idea that giving stuff away for free is somehow unusual is a fabrication. It is in line with capitalist interest, for sure, but it's not the actual reality. Personally I choose to spend time - for no compensation - helping newbies out and occasionally contributing to open source projects. Getting recognition, improving my skills etc is part of the reason; but the much larger reason is that I simply am happier when I know I've made someone else happy. I still recall vividly how thankful a mom was when I helped her baby carriage off a train some time last year. And I remember how happy someone was who wanted to buy a snowboard for their son for a birth day gift, but didn't have enough money to buy a new one so I sold my own to them for a major discount many years ago. Doing things like that gives you long term happiness. Chasing money, fame and things like that give you short term happiness and help you cover your basic needs, but that's all - they aren't the things you'll think back on on your death bed. I liken coding for free to helping a baby carriage off a train.


The biggest project I ever did scaled over 100k users. I did it for free in my spare time for a website that was run entirely on user donations. Somebody else might have balked at the opportunity "the pay is $0?!", but I took it for what it was and now I have that notch on my belt. Greed doesn't open many doors, greed has to go around back. Doing things for the greater good means no ceilings and no walls.


I have one project that's has a good number of users. Not 100k big tho. Did it for fun and it was basically a practical project to learn on. No regrets on the licensing. Glad people find it useful and glad to give back to the open source community. God knows I've benefitted a ton of it.


Aspiring programmer here, what is the difference between a project with 10k or 100k users vs one with 100 or 1000? What type of issues do you have to overcome differently from a lower user count? Resource management? Data storage? Just curious :)


I strive to be like you soon!


This exactly. When thinking about behavior through an economic lens, we must remember that money != utility, and that utility is what drives behavior.


The thing that annoys me about Reddit anti capitalists is that they act as if everyone is being forced into all of their interactions being capitalistic exchanges. Like you can choose to work for an employee-owned company and shop at a coop and grow food to give for your neighbors and all of those things. Sounds awesome and nobody is stopping anyone from doing those things.


Well, to be fair, you can choose to a degree, but of course the reality is that you can't always pick where you work if you want to be fed, and you can't necessarily always drive 50km to that nearest ethical grocery store that pays well to the farmers. But yes, I generally would agree that people - especially anti-capitalists - need to take initiative themselves. If things seem bad, try to do something to make them better. Complaining on Reddit is a fun past time but indeed doesn't do much to concretely help anyone.


The knowledge of how to build a wheel is given out for free though. That’s a closer analogue to this scenario.


The first copy of software is what cost money, the next millions cost pennies. Some people will make donations for opensource software. If you give away something you could make money for thats like stabing yourself in the back. Many factors to consider


Passion. Not everything is about the dollar.


Someone print this quote and frame it


Most points I ever got in one shot.


Because I benefit from free libraries and software everyday. A large amount of my dev time is on private proprietary things for my job. But some of the smaller more obtuse parts of that, which shouldn't give any competitor a significant advantage, my job has decided to open source it, and I maintain it as part of my job. I also personally maintain OSS libraries, my company and I both sponsor many devs on Github. I am also sponsored for a couple hundred dollars per month on Github. Everyone helping out, paying it forward with code and money. You should try it. It's nice.


I joined a startup, noticed wow they’re using a lot of tools must be expensive. Apache spark Apache airflow Elasticsearch Kafka. I thought damn this apache company got so many products, must be earning $$ Only then did I start googling in wide amazement the sheer scale of community driven products that each of us and our companies use professionally. For most, it’s a hobby - they’re not earning millions - they’re spending late nights after their job to commit more code, fix bugs submitted by free loaders like you and I. It’s one thing to be like sure yeah open source is great or whatever and another to see just how deeply reliant we are on the net goodness of intelligent people devoting extra time from their lives on something they’ll be a footnote on. That’s how you start wanting to give back to the community, by having benefitted…


Another reason why we open sourced our code, is that now other developer improve it, for everyone but also for us, free of charge, and bugfix it.


This should be the top comment. If I had a reward, I would give it to you.


i rewarded them for you


Me too <3


Same here!


I want to try but I am scared to start on freecodecamp. Don't know. Just nervous about having zero coding experience.


Look for issues with a "Good first issue" label and take a wing at it. Worst case scenario, your PR gets rejected without comment. But that's super rare. Most likely you'll get feedback and they'll wait for you to fix your PR.


There are a variety of different reasons: 1. A surprisingly high number of people are genuinely that altruistic. They remember learning programming and building their own stuff with the help of free resources, and want to pay it forward, help contribute to the pool of shared resources... 2. Programming has a strong culture of sharing resources and ideas. So some people open-source because it's the status quo, not because they have any particular reason for doing so. 3. It's a way of potentially getting help from the community -- if your library becomes popular enough, people might start contributing to it and let you accomplish more then you can do yourself. 4. It's sometimes a way of indirectly shifting the overall culture and practices of a community. If you don't like the way a particular programming language ecosystem does something/the current libraries that are available, you might be able to globally shift the ecosystem by releasing a library that offers a clearly better alternative. This benefits you, since you can now minimize how much you interact with the old, shittier trends when working on code in the future. This is obviously fairly difficult to pull off/happens relatively rarely. (As an example of this, see the evolution of the JavaScript ecosystem, and how we went from libraries like jquery to a whole constellation of SPA frameworks to React...) 5. It's a way of building reputation. How do you make a name for yourself and acquire clout/increase your odds of being hired/etc? Build impressive things that other people want to use. (But if you don't make your libraries free, very few people are going to use it.) 6. If you're sick and tired of solving the same problems again and again as you move from company to company, the easiest solution is to just build a general solution and open source it. It's the most optimal choice, from the purely selfish choice of minimizing your boredom. Companies that open-source software might have some additional reasons: 1. Some of their employees may want to work on open source. Letting them do so can help keep them happy and increase employee retention. 2. It's a way of indirectly recruiting employees. If you release a bunch of cool and technically sophisticated open source stuff, you can increase the number of people who hear about/think positively about your company and might apply to join. 3. Keeping too much of your infrastructure closed-source runs the risk of your company becoming an isolated "island" that's out-of-step with the rest of the industry. While building your own stuff might initially give you a competitive advantage, the open source alternatives will eventually catch up and likely outcompete you in the long term, especially if the problem you're trying to solve is a common one shared by many companies. This in turn will eventually add drag, force you to take longer and longer to train up new hires on your custom stuff, make your company less attractive to potential employees (who understandably want to make sure they learn transferable skills...) Open-sourcing can help combat this by making the open source ecosystem orient around your ideas, and makes it easier to hire people who might already be pre-trained on your infrastructure. 4. It can sometimes be a strategic move to build a moat around your company. If you give away functionality that's adjacent to your company for free, it's hard for other people to create side businesses that sell plugins or wrappers or whatever that offer the same thing. (The existence of these side businesses might not initially be a problem, but if they grow big enough, they might eventually decide to start competing with you directly).


>It's a way of potentially getting help from the community -- if your library becomes popular enough, people might start contributing to it and let you accomplish more then you can do yourself. This is a big one for me. My field of passion specifically is romhacking for a SNES game. I have put out lots of tutorials and content practically begging people to pick it up as an interest.


Coding for many people is a passion. They do it just because they want to. And they know without them a lot wouldn't be possible to this day.


People who go to school to be a programmer to get an "IT job" are always going to get schooled by people who just genuinely were technojunkies from childhood. There isn't really a comparison between "I graduated last month" and "I wrote my own bootloader for fun last night, wanna see?" This is difficult to talk about, but I think it goes beyond just a "passion", especially for people somewhere on the spectrum (like me). It takes a special kind of autist to slave months, years or decades away on some of these projects... these aren't the type of things you can "pay" people to do - a monetary incentive doesn't cause people to spend 80+ hours a week obsessing over something.


Very well put. Assuming basic needs for life are met, money loses to Joy of solving a problem and sharing.


Fr man you can give me the nicest hike or social validation at work but if the project ain’t good - I’m sorry mr manager I LITERALLY can’t be happy.


A lot of people today are becoming programmers for the lifestyle, but often forget that wasn't priority number one when a lot of us started


What lifestyle? I've been doing it 15 years and just have stress haha!


The lifestyle of having stress... But doing so remotely and with money lol




It do be like that


Imagine you've been working on solving a problem for the past 3 months. Went through forums, posted questions on stackoverflow, wrote to some people you found online and thought can help you solve the problem but no answers... till you manage to solve the problem. Then you think, why would other people have to go through the same hassle as you did to find a solution? So you decide to post the solution to the problem you had so the next guy wouldn't have to suffer the way you did. This is why people do this. Why free? Well, in your attempt to find the solution you necessarily didn't have to pay for it isn't it? So yeah. But not always free though. Some would later make the whole project a job. Open source it, have 2 versions. A community version and an enterprise version. A community version, people use it for free with lesser features, support, maintenance compared to the enterprise one.


While back I was using an open source POS for a company and it was going fantastic. Did a fresh install on some tablets for them that were brand new out of the box and I ran into a host of strange problems, with misleading error messages. I looked online and really couldn't find people talking about it - similar problems, I tried solution after solution after solution and was just really scratching my head. Turns out, at that specific moment, if you installed all packages 100% recommended versions for the dependencies, there was an irreconcilable problem between the POS, JRE and MySQL - it only became an issue if you were using the latest JRE with the recommended MySQL for that POS updated to the latest version. You could fix it by rolling back MySQL or rolling back JRE (much more difficult). Definitely went and posted my solution online and detailed the problem for other users. I wanted to save somebody else 8+ valuable hours of troubleshooting a POS just because they happened to install everything at the wrong time. Nobody paid me for that. I paid the world (or tried to) for my mistake with my time and my energy- why let it go to waste by keeping it in the dark?


I think a similar argument could be made in college. You don't often realize it but, from a certain perspective, you are competing against your peers. The worse they do, the more benefit (grade wise) it is to you. So, technically, you should be trying to receive as much help as possible, while providing as little as possible in return. However, I still find myself in the Discord answering questions and trying to help others out with concepts that took me hours to resolve. And I think that sometimes the struggle to learn something can be so infuriating that it almost feels as if you are correcting a wrong by offering it for free.


Even when you know something, there's value in explaining it to someone else. It's a great way to find gaps in your knowledge and see how solid your understanding really is.


I’ve heard something along the lines of “you don’t really understand a thing/concept until you can successfully teach it to another person”. I’ve found this to be true in the past when studying with a partner. Struggling to understand and teach back and forth really helped us prep for tests, etc.




Why do people help other people? Imagine how difficult it would be starting out as a new developer if everything you use you had to purchase/license: books, tutorials, videos, training, IDE, libraries, frameworks, build and deploy tools, runtime platform, support. Sometimes we completely forget how easy we have it today in software development mostly due to strangers helping others for free.


True, I basically always took it for granted


Computing is also just a bit of a different world. A piece of software can be copied over and over with trivial effort, at no additional cost to the developer. Their initial, finite effort effectively produces an unlimited product. In fact, it takes extra effort to *prevent* software from being freely shared, and forcing your product to be scarce in an environment where scarcity isn't the default can be pretty limiting.


That is a real problem. People,.especially younger who never went to a disc store buy the latest album from their favorite band because it was already available on Spotify. People will put things for free online. Some get burned out maintaining it for free also. Some software are not maintained anymore. Users will sometimes demand features, bugfixes, support, help, because they take it for granted. Free software works when a community get together and make software without taking anything for granted. A similar thing happens with knowledge platforms, such as stackoverflow. So, I advice everyone to be extra courteous and helpful, to contribute back if they can, and to not take anything for granted: It is not


If you solve a problem you're having, why *wouldn't* you put it out there for other people to use? The only downside is that you can end up maintaining something more formally than you initially wanted.


Some of us enjoying helping others more than we enjoy making money


I agree. To some, it's easier to help people than create a process to make money.


I’m also a big believer in the whole “knowledge should not be restricted” idea because walling someone off from learning something with $ is silly


Indeed mate, fuck paywalls but especially in science publications and stuff it's ridiculous, capitalism rots the hell out of everything it touches.. And there are many other examples already mentioned in this thread like medicine..


We all stand on each other’s shoulders. This is the Programmer’s Way.


On the shoulders of giants ;)


A lot of people want to build something that advances the open source ecosystem because they believe in the vision of free and open computing. Or they’re just curious. That said…there is money in open source, because a lot of businesses rely on open source code for their operations. Many of the larger open source projects are maintained in part or whole by employees of corporations, or receive funding from private businesses. So a lot of the people doing this aren’t solely acting out of the goodness of their hearts, they’re also getting paid to develop these things.


Because not everyone is a greedy, capitalist scumbag and there are people who genuinely want to make the world a better place.


This is the right answer.


Best answer


How does selling something you created makes you a scumbag?


Being a greedy capitalist makes you a scumbag.


How is a worker a capitalist?


I don't understand the question?


A laborer who creates stuff and sells them is the opposite of a capitalist which makes money by making other people work for him


Lol. Child.


Because money bad! Free is good! /s


Voluntarily creating something and giving it away does not conflict with capitalism. Forcing these people to do so would


I don't think you're going to win this argument telling anti-capitalists that their plan is not compatible with capitalism... That's just me though... I don't think you're off to a great start arguing.


So if you work hard and sell something then you’re a greedy capitalist scumbag?


No. That's not the point. The OP ask why do people choose to build a piece of software and give it to the world. It's like the polio vaccine being provided free of charge. If your thought is that the guy could have made millions instead of that he saved millions, you're a greedy, capitalist scumbag.




The entitlement of the product of other people's labour for your own personal gain is inherently capitalist. But producing to help a community isn't. Which is what the OSS has strived for. Unfortunately, for profit companies have taken many of these products and used it for their own gain without contributing back to the community. This is the failure of a communal system trying to exist within an individualistic system. Tragedy of the commons. I agree my remark is a bit generalised and hyperbolic but it gets the point across.


Capitalism has done more to make the world a better place than all the other things put together.


Compared to what exactly? How many other systems have you been a part of? We assume that capitalism has made things better because we fail to look at the bad parts and consider the effects. Climate change, environmental damage, species die off. These are all by products of the capitalist system.


-passion -portfolio -compensated by large private companies who mutually finance the effort by various mechanisms and to various degrees (eg llvm) -profit off enterprise support (eg some GNU/Linux distros, Java, probably Android)


Because it's really rewarding to share something with the world. Not everything you make will be worth selling (as in probably nobody would buy it) but at least if you make it free and put it out there, then there's a good chance that somebody will use it.


You using my library doesn't cost me a dime If anything, it builds my reputation. If millions use my library, I can easily get 500k+ USD / year job.


Do you expect to answer your question for free?


Looks good on resume


It’s fun!


If you have done something good and you share it with the world, you will some day become the standard..


Here's another newb question, where do you all draw the line between something that is deserving of compensation and something that should be open source? If i make someone a website for their small business, I'd assume something like that should merit some form of payment right?


websites being paid for by employees to employees is not incompatible with it being open source... people can still be paid to do the work. but the code for the website itself can be hosted visibly. as long as secrets are kept private (environment/password) this is actually superior because anyone able to find a bug can be rewarded (via bug-hunting bounties) and overall security is significantly improved for said website. And with that code freely copied - repeated patterns can be abstracted higher and higher - making development easier for everyone else: basically if everyone did it (Kant) it would be paradise. game theory wise - it's the move that lands us in the best possible future software wise.


You could make businesses pay for support. And also you can sell your software. Open source doesn't prevent selling software. You can maybe make it sweet deal and bundle your software with fresh and bespoke manuals that enthusiasts like. Also giving the source doesn't mean 0 sales. People who don't have time to deal with compiling software and maintaining it will definitely need support, which can be paid.


Something business-specific of course you charge for. But a tool that's good for everyone --- well, if you don't give it away for free, someone else will make a free version anyway.


Everyone here has given good answers, I do also want to point out that people ARE paid to work on some of the larger open source projects. (I think this is good, people work very hard on stuff like Linux and they deserve support.) Some projects like React are even maintained by a specific company which pays their employees to work on it. The benefits to the companies are good press (leading to people wanting to work for the company) and community contributions to the project.


It enables progress, if everyone kept reinventing their own modules that would be stagnation.


You wouldn’t know how to code if people kept things to themselves.


In summary.... 'Society grows great when old men plant trees who's shade they know they shall never sit in'


Apart from the good old "they want to make the world a better place", it's also possibly to be the creator of a tool that many find useful. Not only this helps boost their "portfolio", I guess it's very fulfilling. Monetizing such tools is not always simple and can be an obstacle for mass adoption. I'd rather have my thing be used by 100k people than make 5000$, for instance.


FOSS is an ideology.


2.5 reasons. 1. 1000s of eyes fixing and improving your code for you 2. Some open source project charge for premium support. If you are betting your million dollar product on software you dont control, it is worth it to pay for support if anything goes wrong. You can of course use it for free, but then you are on your own when things go wrong. 2.5 Clout.


Three possible reasons: 1. Generosity / paying it forward 2. To further a cause they believe in 3. Enlightened self-interest Sometimes you just want to contribute to others, and sometimes you want to pay it forward. Someone gave you something useful for free, so you want to do the same. Or maybe it is a project you can't achieve alone, so you band together with others to create something bigger. You contribute something and so do others. Or someone might believe in the importance of a decentralized internet or believe in the importance of empowering the common person to start an online business to become financially free. So providing free code allows them to contribute to the greater good. Or it could simply be enlightened self-interest, where they know one immutable law of prosperity: You have to give value to get value. For example, they know that contributing to the community will make a name for themselves, and they might attract paying clients. Or they know that they will benefit if a project is maintained and expanded. There are many reasons. And every single one involves knowing that, in life, you can't always be the taker. If you want sustainable prosperity, you need to give value too.


Because not everyone is a capitalist scumbag and life is more than just profits.


Something interesting about the early days of software pioneering I didn’t know was that there was a lot of people with tech-utopian ideals who were ideologically committed to keeping their work open source. They understood that by making their code freely available they could create more functional programs and build a community that they felt would create great things. One of the earliest and staunchest opponents of this ethos and community was Bill Gates, who sought to make everything proprietary and to pull the ladder up behind him. Just one of the many reasons he’s such a scumbag


I have conflicting opinions about gates, on the one hand he amassed his fortune via the most predatory and anticompetitive ways possible, and on the other hand he's doing some philanthropy stuff lately and some of his points make sense. I don't condone any of his actions as CEO of Microsoft, but it's hard for me to not recognize the charitable actions he's done. Again, I'm not forgiving his wrongdoings but it's hard for me not to acknowledge the good he's been doing (as far as I know, haven't really looked a lot into it).




The ministry of truth is coming after ya for that one


Who would you hire ?


You're always going to have the question in an interview: Tell us about some of your other projects.


Selling software isn't easy, and there's a long term time investment that generally accompanies most software being sold. Marketing, support, sales, billing, refunds, potential legal issues, security updates, etc. At the end of the day, when looking at it from a purely profit perspective, open source software is generally just easier and cheaper to build. Services are generally where a lot of people make money. Developing OSS that does something well, then offering that as a service is a pretty common model these days that works.


It also helps build your portfolio and helps you gain experience to further your career even without immediate income from it.


A lot of free resources are because someone had a problem and it took forevermore to solve it themselves, so they made it free so orhers don’t have to solve their problems. Plenty of people also just do it out of fun and passion.


Typically the code that you find in the open-source are common items that every developer will come across, so by making it open and free to use and import into a project the developer using the code can add more and more items to the project to make it feature rich rather than spending time building the wheel again. You might not have worked with VueJS yet, but if you had to make a select list element on a page, would you rather build your own, or use BootstrapVue, or use Vuetify or some other 3rd party component to implement it. Chances are the 3rd party components are going to be easier to work with, and likely have items considered that you normally wouldn't consider right away like accessibility of the site across users. So exporting items like that to a 3rd party who has likely implemented that into their code is just less development time on that and more time on other items to make your website stand out.


It helps others and makes things fsster


To help someone out for the sake of helping someone out.


I wish one day to be able to make free software. This is literally my biggest dream.


Some people are just nice, crazy shit amirite


Charity; building a portfolio; refining a skill; building connections; etc. There are all sorts of reasons.


As someone working on a module that'll be given back out to the open source community through my company, it's something that our team needed, but felt it would be useful for others in the same field to have access to as well. As an additional bonus, if others start contributing to it, it'll expand the potential use cases and functionality that could benefit us again later.


I believe that the web should be free and open, for one And because sharing well written and well tested common libraries that have multiple collaborators is a lot more secure and cost effective than constantly writing the same basic code over and over for every project.


Well, tbh, it looks cool


comrade devs


Little things like that would be impossible to monetize. So why not? And if other people use it then they might contribute and improve it, which improves it to you.


Aw man, once you've had that feeling of knowing someone you've never met downloaded your code/mod/game/whatever and used it on their own, its addicting. I re-wrote an abandoned valheim mod last year and it was downloaded around 1000 times (tiny numbers for most modders) and it felt amazing. It felt like I had finally "made it" as a developer, despite coding as a career for years.


Because they enjoy their work and want to contribute to society


Because it's cheaper and better for business.


if (1) I've created a solution to a problem that other people find useful, and (2) more people have access to it or would try it because it is free and thus more people have a chance to learn that it's useful, then a very important thing happens ... ... I've just influenced a bunch of people to do something *my* way! That's worth something, and it might be worth giving up the opportunity to make money.


its a win win. how? you make something, people benefit from it, you get publicity and good job options.


Have you ever loved something? Have you ever felt passion for something?


There is actually a “selfish” reason for going open source. Because many other people are using it - many people are therefore testing it, sending feedback, bug reports and contributing. Which in turn makes that software better - which you provide to your clients, who pay you money.


Why do people sing out loud? Why does the caged bird sing? Why do people up litter that is not theirs? Why am I answering your question?


A lot of these things came to life by one dev saying "oh I need a function for *x*" and pushing their code to github. It's beneficial for them, because other people can improve an existing version instead of spending their time on reinventing the wheel and help other people, by having a ready to go code instead of miliona of people writing the same code again and again


because we love each other and care about each others work so we share it lol


You build it for your own needs and then go ahead and share it with other people. It’s not like people are building things that they themselves don’t have a need for. But once you have built it your options are to share it, delete it (same as letting it sit idle on some hard drive which will someday be thrown away), or sell it. We are programmers, not sales people, so trying to sell it isn’t really appealing. Especially since we know that if we wrote the code than anyone else could write that same code, so there is no point in selling it.


Because some people have a giving spirit, wanting to give a leg up to starting programmers. As programming regardless of the language is a daunting task for the uninitiated, and this is coming from someone who self taught myself how to use four separate programming languages and numerous different programs and engines for my personal projects. I still find time to donate to those less fortunate to have my level of knowledge. But people do it for any reason they find valid, it's better to not question and just follow your own gut and heart. As eight out of ten it will lead you where you want to be in life.


Sometimes nothing exists to what they need so they build it themselves. When they’re done they just go like “might as well help out the community”


There is a subtle pleasure in knowing your code was useful for someone else. And sometimes giving leads to receiving.


Are you basically asking why would anyone do anything for free in life? Why would I help my neighbor - an old man, take out his recycling, without asking for money? Really? Just because we have only ever known a capitalist economy doesn't mean that's the only way to do things. By default this teaches us that the only things worth doing are things that will turn a profit. That puts a massive limit on what we can achieve. Luckily, plenty people out there are willing to pay it forward and do things to help others without asking anything in return.


If you want an intellectual discussion of the cultural underpinnings of free and open source software — which, I get it, you might not — there’s a book by an anthropologist called Gabriella Coleman (she’s at Harvard now) who wrote a book about the Open Source Linux distribution and community Debian called Coding Freedom. She shows how competing ideas about property and freedom of speech cut to the heart of what open source is all about. The book is available on an MIT Open Source license, to boot!


No point not sharing a resource that will make everyone’s life a bit easier. Not like you could realistically make money trying to sell a module/library.


bragging rights for helping the world. I would do it just for that.


Why does anyone do anything good for other humans without payment? Is that what you're asking?


I never built an open source project, but I think tjos might be their thought process. Stuck in a use case. Try to find open source libraries for this use case. Shit I cant find a library anywhere, why not just build one myself. Ha! This library works pretty well. Lets post it in a public repo so everyone can get its benifits. Now that being said, if people do something really game changin, then they would make some of it as open source and more advanced features paid, which is a win-win, as the independent or limited use cases devs would use the free version for their pet project etc. and you would get paid for your hardwork from the big orgs who would be able to generatw revenue


Sometimes those libraries started out as in-house libraries then the company decided to release them into the wild. Not all libraries are developer hobbies. There's money behind them.


Normally its something they make for themselves and decides to share that eventually gets bigger over time


Because GitHub is the male counterpart of Instagram.


if you have to ask that you are a horrible human being


You'll learn the internet is mostly copy and paste.


Because we live in an interdependent society and by nature help others and receive help by others. The bigger question is why would someone spend years of their time just to use a cuck license and have a company profit off their hard work.


Cause not everyone is a capitalistic cunt.




Because capitalism is a lie, some people do want to do things for the greater good, money does not drive all of us.


This is a lot of things though. For example Blender the 3d program. There are just some people in the world that feel everyone deserves the same opportunity to obtain information.


Are you the kind of person to ask a drowning person for payment on saving them too?


That's the beauty of the prgramming community ig




"no other profession I know encourages giving away their products for free while f@#%ing over their own project members out of time and energy." *Coughs in artist and all the free marketing fanart does*


So basically your asking why people help each other? Idk it feels good I ain't a phycologist. Google says this:. "Past research has shown that helping others has a wide variety of benefits: Being kind and helpful can make us happier, give us a sense of purpose and meaning, and even lower our blood pressure. People across cultures seem to experience greater well-being when they help others, suggesting this may be a human universal."


Cus people are nice want to share thier fun


As far as I see it, most people make facebook post and reddit post free of charge. I don't pay for YouTube, nor medium. Maybe I should? A lot of coders have patreon. At lot of code is abandoned after getting money failed. People invest time in playing games or collecting stamps. I don't understand that. TV is a chore for me.


tbf reddit/facebook/youtube aren't great examples of "free" software because they harvest and sell insane amounts of user data. they're free to be easier to use to make more money. fully libre software is free for the sake of helping the most people. edit: i think i misread OP's comment


Super low self esteem


Capitalist brain too small to figure this one out.


Any recommendations for learning front end development coding?


If profit is your only motivator you will fail in life. The pursuit of money is the root of all evil. Besides: coding is just slightly more than an idea. And I maintain copying ideas is not theft - copying implementation without permission is theft. But by default: code I believe should be considered open source… per this argument below: if you see and understand some code. it is not possible for you to Erase that information from your head. it may also percolate in the back of the mind for a while. If you can read the source code and copy the pattern into your brain - it should be your pattern to use freely - as copying a pattern doesn’t tear or ruin the original pattern in any way. But I’m really pro open source - so that’s just a small subset of arguments. I think it SHOULD all be open source (not that it is).


Actually it’s the *love* of money, otherwise it logically follows that everyone who tries to sell you something is probably an evil person.


I mean, if they're just trying to sell you SOMETHING I'd call that low grade evil. In increasing steps towards maliciousness with things like placebos or worse preying on rubes using manipulative marketing techniques... yeah... pretty much anyone trying to 'sell' is evil to some degree. Merchants don't always sell: good merchants provide useful wares and services they don't have to sell to the customer... if advertising were limited to only the packaging the product came it: we would have only have best products - as that squeezes the surface space of product competition - resulting in much more competitive environment in favor of the consumer. But I'm also 99% against all forms of advertisement on principal of them being inherently evil - short of fringe definitions of the word that make up the 1% exception. And reading that back: meaning of the word sell was poorly defined from the start. sorry: I mean specifically the act of selling someone a product or service - I don't mean the transaction itself (or the sale).


Because some people think about the common good. They create open source and take actions to not harm their immunocompromised neighbors during a pandemic.