We build open source tools for processing spreadsheet data (https://github.com/sheetjs/js-xlsx is our largest and most popular open source project). Our open source tools have been used by government agencies, S&P 500/Dow companies, and startups alike. We've found people have taken the library, removed header comments, and sold as-is. Some startups have taken our web demo http://oss.sheetjs.com/, replaced the name with their own, and tried to use that to raise money. But those aren't really regrettable -- it's written off as "shameless people are shameless".
The truth is, you can never really know what would have happened if you didn't open source in the first place. Would an open source alternative emerge? Would people pay for your project or would it die in relative obscurity? That's unknowable.
If there's any regret, it's probably the amount of time spent doing support work for the open source libraries. It's not particularly interesting (usually pertaining to something in the README), time consuming (everyone seems to have their own secret project that they don't want to discuss, so you have to draw out the underlying issue slowly), and uncompensated.
I've discovered that "shameless people are shameless" is surprisingly common. I stumbled across a site for a new JS book one day, and it looked exactly like the personal site of one of our frontend developers. I asked him if he started selling his site as a template, and he goes pale. About 15 minutes later we found where someone had lifted all the assets off his site, replaced his name and photo, and put it up for sale on ThemeForest. Didn't even remove all the comments he left in the code. Dude was making about $2k a month with it. He ended up having to send him a cease and desist, and the guy only gave him about $3k as a settlement.
With all due respect, these links are pretty dated and with an internet year being probably the rough equivalent of at least a half decade of the unwired world, they may not be relevant anymore.
The comment wasn't intended to be diminutive. There happen to be many shameless people looking to make a quick buck, but few of those people would pay if you didn't open source in the first place (or if you offered them a chance to purchase a commercial license). Even with your coworker, the only reason he received money was because the offender made a lot more from it.
It's probably a good thing that people maintain a disdain for freeloading, though. It's important for at least some of the gains from a new creation to go to the creator, otherwise the market for whatever product will stagnate because the people with resources are not the people with ideas.
We stopped after our second support contract. Long story short: quite a few companies wanted additional features and we ultimately had to pick one thing to pursue.
I asked him about it, and it sounded like the guy had spent most of the money, but I don't know why he didn't ask for more. I got the impression that he didn't care if people used his site as a template, but he just didn't want someone else profiting from it.
We usually start with a simple email or phone call. Most developers and teams will reply quickly, especially when they are in the business of selling software.
Out of curiosity, why do you restrict the drop zone on your demo page to that tiny box in the corner, why not let the file be dropped anywhere on the page?
Throwing random code over the wall is fairly harmless, until it sees any level of popularity, at which point you become the sole point of contact for a sea of people expecting bug fixes for free. That can be rewarding, but it can also be intensely draining.
Imagine looking at your personal inbox giving you the same feeling of dread as you'd expect looking at your work inbox after being off for a few weeks..
I'm currently trying to offload one project because it's getting too much, and just finding a new maintainer who knows C and Python to a decent standard has turned out difficult. None of the regular project users have stepped up. Shrugs
Exactly this experience happens in big teams internally as well.
It works like this according to my experience: You see a problem before it really does financial harm to the company. You start developing a solution. You expect to get rewarded with prices, raises, titles and public encouragement, because you solved the problem before anybody even saw it.
But instead this will happen: The employees who run into the problem first and therefore would be the one who suffer from it, find that your solution may be an answer. But instead of making it work they find ways to complain about it publicly. Since management hasn't yet realized that there is a problem, they just hear that you are not doing your job and put pressure on you to fix all the bugs, because of your bugs nobody else can work, so it seems.
This is not stupid by the other people or by accident. The moment they have found a way to complain about you it doesn't matter anymore if the task will be successful or not, since a failure wouldn't be blamed on them anymore as well. Everybody knows that the bugs are your fault, right?
In this regard open source seems less harmful to me. In open source at least there is no boss who can push you to solve the bugs, or fire you if you don't.
I had somewhat a similar experience in a previous job. Automated a lot of stuff to speed up our workflow. Never got anything material out of it (bonus/raise, etc). The reward was an expectation to increase our output ("Now that it takes half the time to do X, everyone should double their output.") The other reward was maintaining my code while expected to double the output. At one point the manager made it clear I would not get a promotion based on this.
I left, and in my next job I tested the waters a little to see if they'd value such contributions. They did, and so I happily continue to make them. Had they not, I would have stopped quickly and moved on to another job. As an engineer, my job is to solve problems that need to be solved. I could be like everyone else and just go along with it (not solve them and maintain the status quo), but that's not why I became an engineer.
Companies are generally hierarchical systems. By developing the solution on your own initiative, you bypassed that. You should never expect a good reaction from a social system when you break its rules, even if for its own benefit.
One thing that's so confounding about this is that so many hierarchical organizations (companies, non-profits, universities, etc) encourage "initiative", but then when you take that initiative, you may/often catch shit for it, even if you're doing the right thing from an objective point of view. Of course, there are complex politics at play and the reaction you get depends on largely on "who you know" and if you effectively kiss ass.
There was a semi-famous author in my city who did that on a personal level: he would ask his friends to keep part of his paycheck until a certain day, and not give it to him even if he asked, since he knew he'd misspend it all (often by just being generous to friends and people in need).
More than once, not only did he ask for the money before the date, as upon being denied, he went around in coffeeshops and bars defaming them, telling people they'd stolen from him, etc.
If even individuals can be this inconsistent, we shouldn't be surprised that companies - composed of multiple private interests, as many as their employees and board members - exhibit similar behaviors.
This was also hard to understand for me. But think about all the benefits people in higher positions have if people in lower positions take initiative. The higher ups can reap most of the rewards of successes while blaming all failures on the initiating people. Of course they like it if you offer such gifts for them.
The way to handle this is to develop the solution, but don't reveal or pitch it yet. Instead, position yourself to hear about it when people start recognizing the problem and start looking for a solution. Then, be the one to solve their problems, and that's the kind of initiative that gets rewarded. Success depends on not just having the solution to a problem, but having it at the right time as well, when the market is ready to adopt it.
Code bases, get full of half-arsed framekworks and automation tools that nominally solve all your problems, but don't, either because they address the wrong issue, or because bugs prevent them from doing even the nominal job. Yet these half-working things can become the required internal standard that teams have to adopt against their wishes. They will not be forgiving when the maintainers start ignoring bug reports.
Now this is fundamentally a management failure: pushing a solution without knowing its limits or counting the cost of backing it up and compensating the maintainers. But as engineers we tend to be complicit, because when we make a new shiny thing, we also want to push it and don't want to tell mangement that it will really cost three times more than they were hoping.
I wonder what is the best strategy to this problem:
You take the initiative and develop a new feature, automate a task, increase productivity, optimise costs, or increase revenue.
You would like to reap the benfits (promition, bonus) but not increase your workload or take the blame for bugs that are unavoidable in the new tech.
1. Automate tasks and keep it to yourself or your immediate team and hopefully work less.
2. Talk to your boss before you reveal your solution, such that he will 'discover' it and let it be his idea. Depending on your idea, this might be hard.
Develop your solution but don't actually implement it. When the problem is discussed offer to fix it in a short amount of time (faster then the actual time). Everybody will remember you as the one being most profitable for the company.
In big companies (in my experience), projects are owned and funded, or they don't really exist. In the case of a side project that doesn't get official support, there is a perfect response pre-made for this situation: "Why are you depending on an unsupported package?"
Yup I agree, working in a product team however one thing I will consider a red flag with projects is internal costings (i.e. having to "hire" devs from other teams for a certain dollar amount), however I understand the importance of getting other teams to "buy in"
Until your code gets linked on HN or Reddit where people will then read the code and then proclaim that the person who created it must be dumb because of all of the obvious mistakes they made (generally ignoring the reasons for some of those choices as bad reasons).
That's what is pushing me away from releasing code to the public. It's really crushing to my self worth as a developer to feel good about a project only to be told how awful it is and how it's broken by design.
I had code on HN (on a different handle) and really, people never nitpicked code. Nobody cares about that one misnamed function or that global variable or that useless abstraction layer.
People, however, do like the one-note replies. "Why isn't this in Rust instead." "Why isn't the license GPL instead of MIT" (or vice versa). "The name is immature." "Will this be on Mac OS X too? Why not?"
Why would you care what others think about your code? Nobody knows anything in this industry. There is so little important criticism, that even finding it if you really want to is super hard.
I know that on the surface, but it does something to me as a person when I see it.
I can tell myself it doesn't matter I can tell myself that they don't know the details or the trade offs that were made, but regardless it still takes the steam out of my willingness to work on it.
- I have simultaneously been catastrophically wrong and full of confidence in the past. Be open minded to the possibility there's a very different way to do things that will make you a better professional. Be similarly open to the possibility the other guy is full of shit.
- Developing a thick skin will make your life (in general) easier. It's better to do it in a short, intense period of time than prolonging the pain over decades of your life.
I found the opposite to be true. I am often surprised at how friendly and constructive comments on my projects are. After sharing them on /r/webdev, /r/react, or HN, I've had multiple messages with people helping me fix bugs, teaching me how to do things better, or just encouraging me to do more.
You are lucky. Some projects have difficulty because everyone wants to use it but no one wants to contribute to it. The inbox of the maintainers may be full filled with bug reports and they have to spend one or two hours to handle these problems. They are tired.
Why would others care about his/her code being trashed publicly? Because we are all human beings. We all have feelings. Some of us are tougher than others emotionally but even those of us who don't give AF what others think feel something when hordes of anonymous master coder warriors on the net trash your work. It's also a reason people like joe rogan don't even read social media anymore because of all the hate generated by throngs of basement dwellers. It takes a toll on you to get a tsunami of criticism from internet trolls and those who just love to tear others down sadly. Why would anyone want to inflict that on themselves?
This matches my experience. Even now, depending on the day, I might be looking at around 30-50 emails of varying, usually depressingly low quality per day. I've had some relatively successful one man projects in the past and at peak popularity it would take me several hours per day to sift through everything.
> None of the regular project users have stepped up
Most projects' development processes are under-documented, even healthy projects and those run by people not looking to get out. This may be the case with yours.
Have you written up a short description of your practices and the things that a maintenance takeover would entail?
Not regretting it, but open sourcing our embedded PHP engine PH7[1] did hurt our sales (I think) when some Chinese company started abusing the software by embedding it in their hardware without paying any license fee (The software is dual licensed and require a commercial license for closed source code). I have a indirect proof of that abuse but starting a lawsuit against a Chinese co won't lead to any result?
In China, open source licenses don't have any legal effect, so it's hard to safeguard legal rights. In recent years some open source organizations have been founded and they hope their efforts can change the environment of open source in China. However, there is still a long way to go.
China's laws implement the Berne Convention, making copyright automatic.
Open source licenses usually provide conditional exceptions to that automatic and internationally accepted copyright.
So if they don't believe in open source licenses, or whatever, "all rights reserved" is logically the default fallback.
That obviously doesn't marry with what you said. China is famously awful at upholding IP laws they're party to, but I think that's all this is here. It's still against the law there, but nobody cares if it's not hurting China.
Once enough chinese companies rely on IP laws to protect their assets things will change. It's like how the U.S. book publishing industry played fast and loose with copyright as long as the books were british but pushed for stronger copyright once there were enough american authors.
I've been encountering that claim for 20 years. In that time, the Chinese software ecosystem has grown more than any other in the world and might even be larger than that of any other country at this point.
How many companies relying on IP laws is "enough" for foreign IP to be taken seriously?
Those companies don't rely on international IP laws so much as laws inside China. When you start seeing Chinese companies actually competing via tenders that's when they'll start caring.
Good luck suing a Chinese company. China's court system is nakedly rigged in favor of domestic businesses, and is actively hostile to foreign interests.
That doesn't seem to make sense. If "all rights reserved" is the default fallback, why are they using other people's code? By default, they should respect the copyright and ignore that the projects have additional terms to allow use only under certain conditions.
That's sort of my wider point. It's not that it's because it's under a permissive license, it's because —being super racist here— they just don't care whether it's copyright or not. The type of license is irrelevant.
There's nothing racist about acknowledging cultural differences, or even making claims of superiority of one culture over another. Racism is judging individual people based on their race instead of more substantive criteria, like culture, values, and actions.
"Acknowledging cultural differences" is a too broad a thing to just okay like that. People tend to go over the top. Americans are fat and arrogant, Mexicans are lazy, the Spanish are dirty, and the Irish are drunks.
It's very easy to say that China —the country— has a problem with intellectual property, but tarring all ethnically-Chinese people with that brush affects hires and promotions in our own countries.
Respecting IP ownership is as much a learned skill as learning to say exactly what you mean when you're accusing a country's governments, police and courts of actively turning a blind eye to IP abuse.
Sometimes generalizations about whole groups are true about many or most members of those groups. But even though many or most stereotypes are rooted in some truth, that's doesn't mean we should judge individual people according to those stereotypes. Somehow treating individuals fairly has morphed into this idea that we should ignore reality. That's just silly.
I'm suggesting the opposite of ignoring reality. Be extra-specific and say what you mean.
My statement was lazy and could easily read as "Chinese people don't care about IP". You can choose to believe that nothing you say affects anybody else, but enough people parroting the same nonsense has a powerful effect.
Although China's copyright law indeed protects people's work, open source software is still a gray area. As far as I know, there is no clear stipulation in China's law to judge whether software complies GPL or other licenses.
There's a malediction that reads: "You have lawsuits and you win them". The idea is that lawsuits are so painful that even if you win them, they're so draining that you wish you never started them. If I were you, I'd focus on your real customers and wouldn't lose much time on the deadbeats. When you realize that there will be always people not wanting to pay (either open source or closed source), you can better focus on your customers in a lot more relaxing way.
I think I regret making Papa Parse[1] open source under the MIT license, anyway. Turns out it became incredibly popular and I missed a lot of opportunities to make a profit on the side. But it is used by government agencies around the world, and non-profit organizations like the UN and Wikimedia, so at least it's doing some good. But I know quite a few large businesses are using it at the core of their products... for free. Oh well. It was fun to build.
I understand your feeling, but I used it in a startup I work for. As I was responsible for this feature (customers uploading their csv files), with PP I did this task in half a day when it could have took me a few days. I told this to my boss and I asked him to donate to PP from the company, but I never heard about it again, so I will ask him again on Monday.
Donations from companies are notoriously difficult to push through for any but the smallest/newest companies. Any more established ones tend to have rules and bureaucracy built up around the process of making donations (if they do at all), and individuals within usually have little direct influence.
Paying license fees for tools or software, on the other hand, is commonplace enough that small amounts are usually at a manager's discretion with little oversight. Offering to send an invoice for a 'license' that doesn't offer any additional benefits may be a way to simplify things for companies like this that want to pay to support the open source they use.
I second this: Open-source projects, please send invoices so companies can bury them in their accounting. Even postgresql.org let me down with a "the only invoice is the CC receipt from paypal", which triggered a specific discussion with my accountant about the legal limits of donations (France).
It can also be straightforward to get individuals in to give a talk, or training, on what a bit of software can do. I've done that in the past where paying directly for the software or service itself isn't an option for whatever reason.
An invoice is enormously easier than making a donation. Most large scale organisations give even low level managers an authority limit (up to X amount) where they don't need to engage the full Contracts and Procurement process. If you're asking for less than $1k per annum, you'll find a lot of large scale organisations will happily pay. And the people using these tools are often very supportive of open source, and want to support these projects. It's in their interests; you maintain the library, they get the benefits of having bugs fixed.
You also make Caddy, right? I've been impressed by how you encourage donations to that project. The copy on the caddy site is totally different from nearly all other OSS that asks for donations, very well done.
Does it work? Do Caddy donations and support contracts cover your bills?
Thanks. We recently moved away from a donation model, and we now seek sponsorships and subscribers: https://caddyserver.com/pricing
Donations never did cover more than a few meals per month. That was nice, but sponsorships and the Engineering Package allow me (and my business partner) to dedicate more time on development and invest back into the community for the project's growth. Still not at the break-even point yet, but I'm hoping that won't take too long...
I wonder if a site that sells minimal support for open source projects as a broker / support tracking site passing the majority of the money to the developer/ project would work for companies.
I use papaparse, it's been pretty awesome, so that thank you for making it.
Have you considered offering support contracts, or a dual licensing approach? I don't mean to butt in and offer a bunch of unsolicited advice, just more curious because I might be trying to do similar stuff with some of my projects, so always on the lookout to see what works and what doesn't.
Thanks again for making papaparse it's really fast and has really helped me get some projects off the ground a lot faster than I would have otherwise!
I did consider a dual license, however I don't want to fragment the project, given that it's pretty much "done" and someone would just use a fork from before the license changes anyway. As for offering paid support, I could definitely still fall back on that if I need some extra income, but it takes time. So right now I'm leaning on my graduate research.
One method I have found somewhat successful (but I am still flushing out) through another project, Caddy, is selling sponsorships. They give me some flexibility to put more time into the project to benefit everyone, rather than a single customer.
Monero the crypto currency does this. I've seen them fund every thing from Ph.D. Research and paper writing, to application development and bug fixing. It seems to work well for those who really believe in and use a project. I'm surprised more people don't try this model. Release the core code and let users vote and fund which bugs to fix and which features to add. I find it an interesting and refreshing change from the free for all of whiny depressing masses who demand all sorts of crazy, hard work from OS developers without paying dime one for it. Maybe it will be the model of the future, who knows!
I truly yearn for the day when I can pay rent with my GitHub street cred.
Makes me think, there was that old Y Combinator experiment of letting HN posters vote for funding in a small funding round. Combine that notion with a karma-weighted transparent proposal voting fund ("DAO" style) and something interesting might happen?
Is it incredibly popular because it is uniquely useful or primarily because it was open source under the MIT license? To put it differently, would people have started using it if you started with a closed source solution, or would someone else have emerged with a better open source alternative?
It's perhaps unfortunate, but such a library does indeed become very popular for the very reason that it is open source and free. I haven't used this, but if I ever needed in-browser CSV parsing, I'd use it. Were it not free, I'd find an alternative or roll my own library with the bare minimum functionality needed for my project. Paying for anything related to CSV just doesn't "compute", for lack of a better phrasing.
This applies to things like date pickers and html5 charts as well. While these could be separated into a separate category based on the fact that their markets are oversaturated, the result is the same: why pay when there are perfectly usable options that are free, or can be done in-house on the cheap if necessary?
I'd like to think it's both. The license definitely helped drive up adoption very quickly, but it still does some things that no other library does. Still, I'm sure it's just a matter of time before <insert any proprietary software here> has an open-source alternative. (Not that that's bad or a defeat -- the proprietary stuff can still be successful -- but it is a reality.)
You can still monetize it right? Look at what happened so far as a market validation and build a "better" paid variation of it that includes support and maintenance. Wouldn't that be possible?
Could learn from the Pharma industry where they use techniques like changing the formulation or introducing a new drug administration route to "renew" the patent.
Instead of debating it, if it were me, I would just give a people a reason to pay and see if it works.
You could have the same product presented as:
Lil Papa "recommend for individual use" - FREE/DONATE
Fat Papa "recommended for business use" - 1 MILLION/month (the same thing but we send you one emoji a month and give you a proper invoice)
Looks like you already have people trying to pay you and they could easily do it if there was invoiced paid option.
If folks can make money off of "Laundry Balls" there is no reason you shouldn't off of work like papaparse.
I'm a huge fan of the two-clause BSD license, but I can also understand that regret. I've always wondered how you would monetize something like this, though. It always seems difficult to me how you ensure that you're being paid without an army of lawyers (the Microsoft model) or limiting it to some sort of app store (the Apple / Google model). What would be the best way to do it, if you had it to do over again?
Given that it's client-side JS, I'd probably just use an honor system. I'm not really a licensing law guy, but: Give it a license that businesses would not like to use (GPL?), then sell proprietary licenses to waive some of the requirements of GPL.
But again he or she above you doesn't really want to enforce that. Enforcement of the GPL is a big problem. Who has the time and energy and money to sit around looking for violators? And then if you do find them you have to lawyer up and that costs a lot of money. You dont have any time or money to write code. The reality is you either accept people are going to use the code you OS and just let that code go (BSDL) or you keep it closed source. I like the idea I just posted above of a model of releasing the core code but letting actual users vote for and fund what bugs and new features get added to the free core code.
If the options are 1) permissive open source license, zero income, or 2) dual license with minimal additional effort and get some fraction of users paying you, then do you really need to care about actively enforcing the license?
Worrying about enforcement is like not opening a store because you are concerned about chasing down shoplifters.
Closed source also need enforcement. What is she/he going do if companies download it from a warez site? Who has time, energy and money to spend on lawyers to hunt down those people, but do not have the same time, energy and money if the license conditions happens to be GPL?
Look at highcharts, you can use it commercially without anyone noticing it because its all client side JS but they are doing fine in terms of revenue because enough people pay for the software/support
The opposite. In my country it's really hard to get any ownership of your content if you are an employee. For instance you work as secretary for a bodyguard company and in your private time lead a pop-rock band. It's not impossible that your boss can grab a share of your music earnings.
In this regard open-source is really helpful, because it enables me to write code in one gig that is good enough to earn my pay there, but allows me in a legal way to use the same code in my next gig. Instead of giving my boss monopoly over my long-term viable content, I make it free to everybody and therefore useful to my future self.
I would even argue it's good for the boss too, since this way I am more motivated to produce, and 90% of the code used in production is totally useless once the author is gone, since most developers aren't good enough to reuse preexisting code and will instead start writing their own code from scratch.
> For instance you work as secretary for a bodyguard company and in your private time lead a pop-rock band. It's not impossible that your boss can grab a share of your music earnings.
What country is this? I can't imagine such a scenario outside of a serfdom.
Solution: never disclose anything to your employer unless absolutely required. If you have a new idea, keep it quiet until you quit your job.
FTA:
(After 5 1/2 years of litigation, Judge Curt B. Henderson of Collin County, Texas' 219th District Court ruled in favor of Alcatel, and Brown was obliged to fully disclose the idea to Alcatel and only Alcatel, and to repay in full Alcatel's legal fees of more than $330,000, which according to Brown forced him to sell his house and other assets.
During the court case, Brown argued that since his idea had never been committed to paper or physically manifested in any way, there were no grounds for the company to claim ownership of his very thoughts, and he drew comparisons to the fact that an invention cannot be copyrighted or patented until it is transferred from an idea onto paper.
He didn't handle his case well, which torpedoed it. But in parts of the US, yes... anything you do during the course of your employment is owned by the employer.
As a contractor, I've been asked to sign contracts with similar clauses. Uh... no. I have other customers, and you don't own what they pay me to do. Their typical counter is "But this is a standard clause".
Telling them to "no contract" is usually the only option. They just can't understand why an entirely one-sided contract isn't good for me.
I agree with what you are saying, particularly about 1) Evan Brown making his own case weak, and 2) not signing such contracts where it is bad for your business. The articles were valuable - thanks!
This is different, though, from the case where you are employed as a secretary for a bodyguard company and then work as a musician outside of your regular employment, isn't it?
I mean, suppose Adele was the secretary and then started her musical career during that time. Would the bodyguard company be entitled to royalties from her catalog? I don't think so, and I don't think this case says they would either.
> This is different, though, from the case where you are employed as a secretary for a bodyguard company and then work as a musician outside of your regular employment, isn't it?
Not really. If the contract states they own everything you do while you're employed by them, they really do own everything.
As for Adele, she's British. Such clauses are generally null and void in the English Common Law system. Your employer owns what they pay you do to, and what you create using employer tools. But if you work as a computer programmer, and invent a better mousetrap at home, your employer can't claim ownership of the mousetrap.
Are you saying if it were Madonna instead of Adele, then some bodyguard company owner could be retired in Costa Rica on his earnings from "Papa Don't Preach" if Madonna had signed such a contract when she started working there as a secretary? Is it contractual only? (OP seemed to indicate that it was any employment, so I'm still wondering what country this might be.)
I'm not a lawyer. I also thought it works differently until a boss thought he can sue me for a separate business idea I developed. I told my boss about it because I thought he would fund it and we would become rich together. He thought me telling my idea to other possible investors was theft (company secrets etc). My lawyer thought he was right.
Or trust people's willingness to make money. Because of that fight in the end nobody developed that idea, and the money that both sides could have invested into development instead went to the lawyers.
I think it is jealousy, not rules or company contracts that make bosses sue their employees. I say that because at one of my previous job, founder actively encouraged side projects and entrepreneurship.
But that company still end up shutting down side projects of two of its employees.
One was a simple site that documented company's API and had a few sample code snippets. It got popular. The guy running it even received recognition on company's newsletter. Next thing I know is that company forced the guy to handover site and domain to them. Apparently, he worked on it during work hours. He said he never did but who knows.
Then another guy's completely unrelated app got shut down due to same reasons. But the guy claims he never even opened app on his personal cell phone while on company property. Everyone in the company had some sort of app but this app got popular & profitable. Jealousy set in. One of his teammate claimed he saw the guys working on the app. He was forced to handover the code. Then company did nothing with the app and removed it from marketplace.
Rumor is that he has another app but he tells no one about it.
I believe same thing happens in big companies. AFAIK, they don't hire any team to monitor web to make sure their employees haven't released anything on their own. But someone who works with an employee learns about a successful app, gets jelous and tip legal department.
Lesson is even if your company is pro side projects, don't tell anyone about it. Humans are jealous creatures and they will find a way to hurt your project.
Thanks for this inside. My personal believe is that I need to overcome personal feelings because I want to make a big buck, but not everybody thinks like that. The personal view of oneself can be a much stronger force.
I've seen the really broad contracts where basically anything you do while employed by them is theirs, but OP said that it would not be out of the question that the boss could get a cut of the earnings from music.
Is there any place in the U.S. where a judge would enforce such a contract to that degree?
1. I tell my boss I need this and only use it on non-business-core code.
2. He understands that open-source != raise.
3. He agrees.
(the funny thing is, that the open-source code a programmer can benefit the most on is rarely that what a business considers its core value, e.g. I write an open-source package manager for our plugins that I can reuse to bring plugins to later jobs, boss considers the plugin's contents his core value)
Same thing for patents. I was at a company that claimed to be all-in with electric vehicles, so when I devised an awesome motor control algorithm that overcomes all the common challenges in an elegant way I went ahead and got a patent. I figured we'd be doing that for a long time and it would give us an advantage. Fast forward 1-2 years and the company founder retired (he pushed the EV stuff) and upper management wasn't interested. They let the team dissipate to other companies and AFAIK they have no new endeavors in that area. And so my innovation stagnates in the dust bin, patented and unusable by anyone - including me.
While I don't regret it, last experiences with open source probably made me to not do it again. Essentially people seemed to assume that if I release a project, it also means that I'm require to provide free support for it, etc. The attitude from users of the software was depressing - in fact to me it feels that my paying customers are nicer on average.
I think it's human nature to not value things that are free the same way we value things we have to pay or spend effort for. It makes sense that it follows to open source projects as well, though I'm often appalled at some of the requests and tickets on some of the open source libraries I use and contribute to.
If I see an unanswered 'dumb' question that's relatively recent I'll try and answer it in such a way that the maintainer(s) can effectively just close the ticket and be done with it.
Without contributing code I hope that me giving them 2-10min of their life back is a small but welcomed bit of help for them.
Similar feeling here. I released something open source, others started contributing to it (which is rare! so that's awesome!) but their commits started breaking things for others. That meant I'd get the complaints, and I had to spend a lot of unpaid time fixing their bugs. There were ongoing debates as well from contributors (and non-contributors!), and that's how I learned what the word "bikeshedding" means :)
Instead of giving something for free to the world, I'd accidentally created an unpaid job & ongoing drama for myself (ie a net-negative for me personally, instead of at least being a neutral / zero).
With my commercial software, I'm being paid by customers to help them, and the better I make the software, the more likely people are to buy it. The incentives align. Those paying customers are mostly nicer to me as well, some wonderful compliments. And none of them have ever debated GPL vs BSD vs MIT with me - they just want the software to work, work well, and be beautiful & easy to use.
The free users have no skin in the game. If they don't get what they want, they're on to the next one.
The paid users see your products value, and use it to solve a problem of theirs. They ask for fixes/features because it would make a bigger difference to them.
At first most of your users tend to be fairly advanced. After all, they've even managed to somehow find the obscure thing you've made. This is the most rewarding time for an open source project as many of the issues are real and the quality of bug reports and feedback is extremely high. Over time, as the project gains popularity, many of these issues will either have been solved, or have become easily googlable. Therefore you'll rarely hear from the advanced, intelligent portion of your users, although it's also certainly possible that they've already moved on to shinier things.
In the end, you tend to have a noticeable, vocal portion of users whom I'd generously call "social developers," who are bad at figuring things out by themselves and/or prefer asking things from another person to save a few minutes of their own time. Many of these users are very draining to deal with.
It depends on the project. Most of the people using my GUI plotting software Veusz [1] are not devs. Therefore I get a lot of questions on how to use it, bug reports, complaints and feature suggestions, but little in the way of code.
but a problem that i run into often as a user of open source software is that in many cases the readme or other promotional material makes generous claims about quality or performance that the softwares fail to live up to. and in those cases i'm quick to bash the authors
Definitely: the software for running World of Warcraft private servers, also known as MaNGOS.
Founded and released that in 2005, got so much trouble because of that and wasted loads of cash to keep up project through numerous DDoS attacks, hacks (one of them even causing github downtime in 2013).
I had no idea it was so taxing, but I do want to let you know that MaNGOS is probably what set me on a path of learning programming (which has become my career) so I am indebted to you.
Always nice to hear it had some of the intended effects. The - albeit ideal - project goal always was to inspire people to learn development and engage with more complex issues.
But did you regret making it open source, or doing it at all? Wouldn't most of those issues have still occurred had you kept the source closed, but ran such a server?
Definitely the open source part, as most of the issues were results of open sourcing it.
This comes down to two parts being problematic:
- we took away business from private servers as there was now an open source solution
- applying the open source community model on the private server scene was a disaster. It was to idealistic.
In hindsight, the open source part was basically painting a target on us.
As an example: private servers running mostly use MaNGOS (there is not much else to use) and pretend to have built their own software and advertise by bashing MaNGOS.
And that is a situation where license alone wouldn't have helped, since even if you went and threw it under the AGPL most of the private servers operate outside US copyright jurisdiction so they can advertise themselves as private WoW servers in the first place.
The community itself bashes a ton on private servers for taking GPL code, adding a bunch to it, and then never releasing changes even after they go under.
It probably relates back to the general disinterest / apathy / ignorance of software freedom in gaming / hobbyist scenes in general, though. If you have never written a line of code in your life you probably have no idea how the world operates in regards to licensing. You don't distinguish VLC from Windows Media Player besides the visuals you see in front of you.
While they certainly did use Mangos, it is worth pointing out for the less informed that they did a lot more than "a few bugfixes". If you compare the current Elysium core (taken from Nostalrius and opensourced) and the stock MaNGOS that existed at the time of Nostalrius launch there's absolutely no comparison- let alone if you compared 2005 MaNGOS as released by marenkay and what we have today after over 10 years of open source development from thousands of contributors.
All of that said, myself and millions of others who have enjoyed classic servers over the years have you to thank for laying the foundation,and I agree with the other (downvoted) poster who says it saddens him a bit to see you regret something which has brought so much happiness to the world. If you ignore the selfish server administrators and look at the comments from some of the better parts of the community you'll quickly see that you've helped a lot of people cope with various ills in their lives, and many people have outright told me that they felt classic servers had helped them stave off depression or even suicide.
The comparison does not work because Nostalrius/Elysium actually uses a codebase from the around 2010.
If you go back to old MaNGOS sources and do the diff on that old state you can see it is just a few bug fixes.
It looks like Nostalrius and Elysium developers simply did not figure out that after that MaNGOS was split into distinct projects for each of WoWs expansions and decided to stay with pre-split version.
Thanks to mangos I've played for years for free. I've made dozens of friends along the way. It's been a big part of my life and I'm very happy about it. Your project has made me and thousands of people very happy. So don't talk such rot.
This is about him, not you. He means you no ill will; only that the project was a burden to him, & he didn't receive much compensation besides the entitled thanks from such illustrious folk as Mr Krabo
I released an open-source universal cryptocurrency banking website in 2013 called "Safewallet". It has decent google ranking for SEO terms related to open-source crypto banking.
Every time the price of Bitcoin goes up I start getting emails from wantrepreneurs asking me to essentially work for them without pay because they "have a great idea" and "just need a little help getting the software working". During Bitcoin mania phases ( like now ) I'll get 2-3 of these emails a month.
Too many stories to list. Everything ranging from offers of $2,000 to build a "BitStamp clone" or the time I was suppose to be having a sales call with the CEO and instead was greeted by their lead engineer with an endless list of questions on how they could build their own cryptocurrency bank. CEO got real nasty when I politely informed him they would have to pay me for my expert advice.
They all want something for nothing and get an attitude when I tell them I'm not going to build them their own cryptocurrency bank for free or for minimal pay.
Regret spending so much time on something which has only brought me grief.
I can't get into details, but I worked at a place that was thinking about opening up some development for open source publishing. Another team was working on some very high-end algorithmic work in a specialized field and the company was pumping lots of money into internal R&D for that group. They were selected as an open source test case.
They pushed up their code to github and within a few months a group of them had left the company to form a boot-strapped competitor using their same code -- essentially using the open source publication of their tools as a way to legally ex-filtrate corporate IP -- a nightmare scenario for many companies (and also recently in the news i.e. Uber v Waymo).
This one act burned all open source publishing plans to the ground and now that company open sources as little software as possible. Now, several years later, they haven't published a single line of open source code that I'm aware of.
Seriously, I'm not surprised people haven't thought to take advantage of this aspect of GPL for their own selfish benefit. It's only when you're someone like Apple where BSD or MIT or any of the "permissive" licenses make sense for you, that or you really want to be self-less.
I made an open source lib for Cordova (eventually ported to React Native and others). I found I'd gained a number of users with few contributing back, so I forked my own project, closed the source into compiled and encrypted binaries. Now I sell licenses and support, generating ~$20k/month. Innovation has skyrocketed since I've been able to dedicate 100% of my time to the products for the last 2.5 years.
Well, what I tell customers is "what you're paying for is support and latest updates.
Customers get access to a private repo for latest updates and priority support for 1 year (yearly maintenance fee = $150/year). ~20% of customers pay the yearly.
Each purchased key is bound to a mobile app id. If customer wants to make 3 apps, they need to purchase 3 keys.
Public repo contains latest stable release; purchased keys unlock product in public repo forever.
iOS lib is free. Only Android lib requires a key to unlock it. This gives users the chance to freely develop iOS first (and hopefully get hooked, like cheap crack ;). Chances are they're going to release an Android version too since most of the earth uses Android.
The Android version is fully operational in DEBUG builds. Key is enforced for RELEASE builds.
Lot of comments indicate that the code authors regret making their code open source because somebody rebranded their code or sold it and made money.
You always had a choice to stop development in the early stages and:
1) Make it proprietary - Why didn't you do it?
2) Have a commercial version - Why didn't you do it?
3) Change the license from MIT/Apache/etc - Why didn't you do it?
4) Charge for features/support/maintenance/etc - Why didn't you do it?
When you use certain OS licenses, you give the permission to its user to do whatever they wish including selling it and therefore, complaining about it later doesn't make any sense.
Mattermost for example, was APL. Then they changed it to AGPL because they experienced something similar.
Gitea was born out of the frustration that the original code was not maintained properly.
There are numerous examples like this.
So stop complaining and take action else embrace open source with all your heart.
When we call software “free,” we mean that it respects the users' essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.” These freedoms are vitally important. They are essential, not just for the individual users' sake, but for society as a whole because they promote social solidarity—that is, sharing and cooperation. They become even more important as our culture and life activities are increasingly digitized. In a world of digital sounds, images, and words, free software becomes increasingly essential for freedom in general.
- Richard Stallman
I regret not making a good deal of software open source. But it's a tough decision depending on your market.
One of the niches I specialized in was essentially taken over by an influx of offshore resources. It's like going into bizzaro world when you go to a meeting on a project and someone else is using your own powerpoint presentation and is doing it wrong. It's offensive when you go through project documentation and see that someone else has gotten paid for documents that you wrote for another customer - especially when they are not current.
When I began experiencing this kind of thing, I felt confident in my decision _not_ to open source software.
But the reality is that my biggest source of pride was given to the world at large. And all these years later I would appreciate having a lot of code which I no longer own in my portfolio. And while there are those who would have poached and pillaged my work, my income would have been minimally affected (or maybe not at all). The fact is that when I operated in that niche, the money I earned was all due to the fact that I was good, not because of any particular piece of software. Having a public portfolio of related software might have even brought in more business.
Yes. I did horrible things at the start of clj-time in my fork. I was so disgusted with my solution I abandoned it.
Those decisions got propagated and didn't get fixed for a long time. I should have kept it closed and let someone else do it properly, rather than unless abandonware on the world.
In fact, come to think of it, I regret everything I've ever open sourced. I can't think of even one time it lead to a positive outcome. I can't think of even one time it didn't lead to a decidedly negative outcome.
The same is true of my writing. Every time I've wrote about the advancements of programming, people have made it their goal to oppose it and mock me over it.
Lots of people love to talk about how great this community is. But I've never seen our world as much more than a slowly spreading cloud of venom in a larger medium of confusion. I've felt this way ever since the days when I was a kid and the title "hacker" was rigorously gatekept in local and isolated oligarchies.
One pattern I have seen a few times is that a company develops some important internal piece of software and then later the opens the source code (normally motivated by the notion that other people will contribute to it - which they rarely do).
What normally happens next that the company loses control of this software which they probably didn't realise was so important to their core business as the employees who worked on it are empowered move to other companies and develop private forks or start up as a micro-ISV/contractor business based around providing private forks of the software to clients.
I think what people don't realise is that most of the legal structure around open source software is for software used by end-users. For internal software the GPL doesn't function in the same way: other organisations are more than able to keep private forks and realise all the benefit of the software without contributing back.
I'm encountering difficulties right now with a project I open-sourced. Some other people made it a core part of their business, but then I left the company, so I can't merge patches to the official branch. And to be honest I don't have the time to do this (I work for another growing startup).
But it's still it's one of the best things I have ever done in computing. It was fun, and I got paid to do a kind of pure research, and enhance my own reputation while doing it. My former employer got free patches from very big and talented companies. I've made some interesting connections through this, that's for sure.
First time I made a project I wrote myself (a CP solver called Minion) GPL. I now know several companies had interest in it but we're afraid to put any GPL in their toolchain. I've never received useful external contributions, so I may as well have used BSD.
The second is a project I work on where GPL V2 was chosen. Now some committers have passed away so we are stuck on 2, so can't link with other, GPL v3-only code
I've had a couple of cases where companies pay me $5-10k for an commercial license of something I released free under GPL or AGPL - its rare, but it does happen. You can add a note along the lines of "commercial license available, contact me for details" in the readme.
I do require that contributors assign copyright to me before I'll merge their PRs.
For Minion, this was a product of research from a University, right? Did you receive any grants to produce this software or receive any grants based on the software that you wrote?
The Linux kernel is the most well known codebase that is specifically GPL-2-only. I wouldn't be surprised if there were other 2-only codebases made by people familiar with kernel development, either because they were influenced by the kernel's choice or because they wanted to be able to use code from the kernel. QEMU is in the latter boat -- we have code that was copied from the kernel, so effectively we're GPL-2-only despite having a fair amount of 2-or-later or BSD or other licensed source too. This is awkward because we'd really like to be able to use the binutils disassemblers, but we're stuck on the versions from the last GPL-2 binutils release...
Some people are very opposed to it on principle, because it puts control of your software in the future entirely in the control of whoever manages to take over the FSF.
Nooo. Open source was always something I really believed in. I don't have projects which are used by the masses, but the random thanks by a stranger when he finds something I made and open sourced[1] as useful is priceless. But that's just me.
As a whole, I'm much more happy that I did than if I hadn't.
Over the past 13 years, I've been developing console emulators for 12 systems and counting. If my work were closed source, I would not have received patches and contributions from 30+ people and counting. And I wouldn't have met several amazing people who ended up becoming very good friends for a very long time. One in particular has been amazing in helping me open up and be less guarded all the time.
I was also able to sell one complete commercial license, and received a partial payment for a license from another company that then vanished (I tried to refund the latter, but e-mails to them no longer work.) I've received a very large number of donations over the years. Should be around $5000 in license sales, $7500 in donations, and another $2500 to fundraise hiring a person to decap chips and extract program code from them for improving emulation. I've also had multiple people make very specialized custom hardware that has helped me out more than words can express. I've had people trust me and lend me thousands of dollars worth of rare games for the purpose of verifying information for emulation and then returning them.
But I would be lying if I said it was all good. At the time of writing, I am aware of eighteen forks of my emulator. Two of these projects in particular never talk to me or submit upstream fixes, and instead commit changes to their own repository with extremely derogatory remarks about me and my programming skills. Two of these intentionally undermine and sabotage the entire goal of what I've been working on from day one (namely, adding known-incorrect hacks to speed up emulation. My distaste for hacks was the whole reason I got involved with emulation in the first place.)
Most of the forks of my software are from versions I released either three and a half years ago, or six years ago. A small number of them are quite popular, meaning my work may as well have been discontinued for those users.
One fork collects over $2,000 a month on Patreon off the backs of others' emulator cores including mine -- even ones that are explicitly non-commercial. One developer just wantonly ignored my GPL license and sells my emulator on Steam, doesn't provide any attribution or credit for using my work, and plays games when people try and get the source code to said work (but to be fair, one person did obtain it.) That one was made particularly worse because he wasted a good 20+ hours of my time over the span of six months promising repeatedly to license my emulator, only to back away at the last minute and pull this without even telling me.
I've had people very blatantly read through my source code to improve their emulators and documentation, and not just avoid giving me credit, but outright deny having ever looked at my code. In the most egregious case, someone copied a set of opcode mnemonics from a CPU core. Only ... that CPU core was never publicly documented: I made up every single mnemonic myself, and the only place those mnemonics existed were in my source code.
I've ended up with two people who have harassed and impersonated me online for six and eleven years respectively now, for reasons I really can't comprehend. I've had half the main staff of the most popular emulator out there make a passtime of digging through my 400K-line codebase, looking for individual lines that were poorly written to mock completely out of context in a public chat area -- and they're people I still have to work with often.
But what I always remind myself is, it's easier to dwell on the negatives. It's possible I could have made a lot more money with commercial licensing sales if my work were closed source. But my software is vastly better than it would be without all the help I've received over the years due to being open source. And I benefited a lot from other open source emulators, so it would be pretty selfish to not return the favor to others. There's no sense in me trying to force people to use my version of my software. I'd rather have a smaller number of users who actually fully appreciate what I'm going for. And I have a pretty thick skin at this point for the rest of it.
That said, do put as much thought as you can into this before releasing as open source. Once you do so, you can never go back. Even if you try, your work will be forked at the last open source release. But speaking for myself, if I could go back and do it all again, I would still keep everything open source.
I read through the entire post without realizing who wrote it. I just want to let you know your work is fantastic. Thank you for everything you've contributed to emulation.
If you don't mind me asking, are you still working full time along with developing the emulators? Have you ever run into any legal trouble with making them?
No legal trouble so far. I don't use any information that isn't publicly available (although let's be honest, no one can truly say that all public documentation was created clean room; and emudevs can't know without having seen the original or being informed of this), and I also don't include any copyrighted code. Only very small boot IPLROMs that qualify for fair use (ineligibility for copyright) under Lexmark v SCC.
The real kicker is the Game Boy Advance. It requires a 16KiB BIOS to boot. Any attempts at a high level emulation or a recreation of the ARM assembly code will result in inaccurate emulation, which is a bridge I won't cross. Games can literally read the whole BIOS out (unofficially, but it's possible.) Thus, games can even go as far as to compare every byte of the BIOS. Without the BIOS, the detection of an emulator is an absolutely trivial matter.
I suspect it would be safe to include it, but will not risk it after Sony v Connectix -- easily the worst court precedent in the history of emulation. A judge who had absolutely no understanding of technical matters with regards to emulation and how his ruling created a perfect end-run against the possibility of ever producing a perfect, legal, free emulator.
I'm also hamstrung on the coprocessor firmware included within many game cartridges. Titles using such things won't boot in higan like they will in emulators that use HLE, thus making my emulator more difficult to use than everyone else's.
This is a bannable offense on HN and we've banned this account.
If you don't want to be banned on HN, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future.
As a business owner, it's much easier for me to have an invoice (for the books) than explaining why I sent money through PayPal. Nothing is impossible, but it's more of a hassle for me to donate.
We recently started to go through our commercial projects in a structured way and setup a small budget for OSS donations / support. Please setup some easy way to just give a receipt for support or anything else I can document. Purchase via CC is okay but I need receipts. :)
Thanks to all creators in here that let's me keep a much higher development pace.
One use case that's often regrettable is software targeted at non-tech people. I made a free plug in for a shopping cart platform. Lots of happy users, but the occasional person ranting about how it doesn't work for them, and is expecting free troubleshooting and bug fixes on their schedule. A couple spinning into insults and swearing when the answer is "sorry, but I'm unable to help, maybe try a similar plugin from someone else".
I had a similar experience when I released an open source real estate search plugin for Wordpress years ago. It gained traction and was covered by a few very prominent real estate blogs/news sites which resulted in over 10,000 downloads in 2 weeks.
There were some people who were not able to get it to work with their theme, shared hosting environment, other plugin conflicts, etc. and expected me to install/troubleshoot. I was spending almost my entire day trying to help people and I couldn't handle the demand especially with that many downloads in such a short period of time.
So I decided to put up paid support versions ranging from $50 to $150. People flipped out when I did that and literally attacked me in comment threads. I tried explaining the time commitment this entailed and that it was taking me away from my core business but the mob didn't care. They were mad that I wasn't willing to install or troubleshoot their environment for free.
I ended up taking the plugin down and since then (it's been 7 years) I haven't open sourced anything major and will probably never release a Wordpress plugin to the public again.
In hindsight, I probably could have made decent money from that plugin if I charged for it initially. It probably would not have gained as much traction or popularity but I think the outcome would have been very different.
I have regretted my choice of licences, so now I only go copyleft. That has allowed me to monetize some small libraries with a pretty specific use case. Some companies wont use code they haven't got an invoice for.
i originally open-sourced some interesting algorithms built atop a lib i also open-sourced and realized later when building SaaS that it was unwise to have them open, so i force-pushed a commit that removed them from the repo after seeing that all public forks were out of date and did not have them yet.
it helped that the lib never got popular so it was easy to do. there could still be some fork/clone somewhere that has them though :)
I regret publishing some ideas I had as an open source project. Once it got other people's attention I had so much work trying to document, answer issues and maintain the project that in the end I got tired of it all and had to stop. I really loved the project, but open source is a lot of work, and most of it is not development, but choosing who to give attention, trust, etc, you must be prepared for that. If I kept it for myself I would probably still be working on it and would be using it in my work related projects.
I do agree with the sentiment expressed here several times. Once my open source project gets popular it seems that there is a flood of incoming bug fix / feature requests and it is quite overwhelming.
People expect you to just work on the open source library almost as it were your full time job (without a compensation). So that can be frustrating.
This problem can be solved by finding skilled contributors who would be willing to work with you on maintaining the project but this can be quite difficult.
Let's say your project is just reasonably popular (1-2 thousand stars on Github), you will be hard pressed to find willing contributors. It's much easier once the project gets very popular (5k stars I guess).
It also depends on the language and niche of the library. Might be easier to find contributors in certain languages than others.
Having said all that, my open source projects have actually paid me back in a way of interesting work opportunities that I wouldn't otherwise stumble upon. And it's a nice to have some reasonably well received open source project on your CV.
Visibility is the easiest part, when you need it - just advertise and do PR, no reason to rely on a pure chance. Open source projects are often accepted by a lot of places, that do not allow ads for commercial products and services. But then you are going to have the same problem as others pointed out - doing free work. So unless you find a way to make your work on this project sustainable there is little point in gaining visibility.
A small group of maintainers and me (also oss maintainer) are working on solving oss funding issues. This is not a startup or a pitch. If youd like to join the conversation drop me a line at pryelluw[at]gmail
I don't know if it counts, but I have decided on not publishing a project I worked on (sporadically) for 14 months either as a binary or as open-source code because of previous experience with a fairly popular open-source software I published a few years ago.
People expect you to work full-time on your project and get angry when you don't fix bugs. I have enough stress at work, where I'm paid to do things.
That hasn't stopped me from making things open-source though, I still enjoy it, and it has caused me to contribute more to other projects.
Copycats ! I've released a small library to display cross-platform dialogs (because I couldn't find what I needed) and 2 weeks later a copy cat released a similar Library/API but based on a different approach. In the next years, at least 2 other competing projects joined the party. Mine is tiny file dialogs.
Obviously, anyone who made anything popular and permissively-licensed has undergone such regret when corporations scooped it up and used it gratis without contributing anything back.
Lesson: if you use a permissive license, you are acknowledging that your work is worth nothing to you. Because that's what you'll get for it; whereas it may easily be worthwhile to sell a proprietary-licensed binary of your copylefted work.
The truth is, you can never really know what would have happened if you didn't open source in the first place. Would an open source alternative emerge? Would people pay for your project or would it die in relative obscurity? That's unknowable.
If there's any regret, it's probably the amount of time spent doing support work for the open source libraries. It's not particularly interesting (usually pertaining to something in the README), time consuming (everyone seems to have their own secret project that they don't want to discuss, so you have to draw out the underlying issue slowly), and uncompensated.