I think this thought is going through minds of all developers at one point or another. I do use open source libraries and codebases when building my own products, but I've never been a big contributor to open source.
What is your experiences from going open source and for what reason did you decide to open source, and if not, why did you choose to have a closed source?
In my own project, since I'm going to run a telemetry client on each users computer (and developers are my target audience) I'm considering to open source my client to be transparent in what the client does. Hopefully I could also collect contributions to the code base as well.
I'm eager to hear your experiences!
I'm an open source nerd, my product is 100% open source (https://github.com/mickael-kerjean/filestash). The reason I did that is:
if something isn't open source I won't touch myself => "Do unto others as you would have them do unto you". This is to me about being able to customise the tools I use
the project is getting some sensitive informations (S3 credentials, FTP credentials, ...), nobody trust a random dude but as the entire thing is public, everyone can look at what it's doing
I did receive quite a lot of help when it comes to bug report which are helpful for everyone else
Ultimately, this strategy has ended generating a bit of traffic. Github alone generates about 2000 new visitors each month and the aggregate of other website talking about open source is around another 2000 new visitors each month.
On the downside, a lot of people have been coming to me with the expectation that if it's open source, it's free and they can have free support for it and ask whatever they want and I will have to execute.
Interesting points,
To what extent do you not touch projects that isn't open source? Is it limited to applications that you install on your system? I think it's hard to completely avoid it.
I'm considering to open source mainly for the second point. The app is a time tracker for developers, and will collect telemetry data such as which IDE that is being used, scan files to figure out which programming language you've written in etc. I want to open source the client to be transparent in what it does.
I had a look at your project, very cool! How has your experience been on monetizing it? I have an assumption that it's harder to monetize open source.
Opening the source of your app does not provide much value to the community. Except for being a case-study.
If you want to be a contributor but don't have a reusable package to share, help people in other projects' issue trackers, make pull requests to other projects or at the very least donate to independant projects. Contribution is not only code. Any type of help to push projects further is always appreciated in open-source community.
It really depends on your business case. I'd say don't expect others to magically start contributing to your code base, just because your software is popular and is open-source.
I had my open-source academic software "stolen" by some academics in Asia who said their code was "inspired" by mine, but I could see that it was actually derived from it (Imagine looking at your own code where every variable is renamed)
If your users are non-developers they probably couldn't care less if it's open-source or not. If your users are developers, they are just as likely to steal or fork your code as they are to contribute back to it, unless you have an existing overpowering brand, like "PyTorch".
Interesting. I do have low expectations on contributions, and it's fine if it doesn't receive any. It is going to be a freemium after all. ✌
Why did you choose to open source that project?
I'm not so worried about people stealing code, I would be glad to see my code derived in other projects. The service people pay for is the online platform, which will be closed source.
It was funded by the US taxpayers as part of a larger project. Making it open-source made it more competitive for further government grants.
Forking is different from outright theft. The former gives credit, and keeps the "copyright" notices in the files.
My code was Apache-licensed, so there was no business reason to steal it. They just wanted more credit for their "original" creation.