Open Source for Profit?
I’ve never been an open source guy. I’ve used open source applications, but I’ve never been a contributor. Why? I’m not really a “professional” programmer. I’ve never had training in it and never had the desire to spend my evenings/weekends figuring it out. I’ve always used open source like I do PBS and NPR; that’s right….I’m a mooch. There, at least I admit it.
Microsoft is doing more and more to open source their stuff, which, I suppose on the surface, is great! I’ve seen the advantages of finding someone else’s work online and using it in my own work. I’ve copied/pasted my way through plenty of scripts, or downloaded full scripts and hacked them to do what I needed. Anyone saying they haven’t done that is flat-out lying.
BUT…
If I’m going to spend my time learning how to do “proper” code, how to do PRs of my work, and getting my stuff up into the community, I’ll be damned if I’m doing it for someone else to market and make money off of it directly. PowerShell DSC is a great example. It’s a great set of what are basically PowerShell scripts that you can use to configure servers. Microsoft has these modules up on GitHub and you can go out there, download them, hack away, and, if you want, do a pull request to have features you’ve added get pulled into the main product. Doesn’t that sound cool? You would get to say that you provided something to the Microsoft code base! Your work could certainly help other people, too!!
But shouldn’t Microsoft have paid you for that? For the life of me, I don’t see putting my work out there for free for another company. My company is still paying me to work, so they would have to agree that it’s okay to “contribute” to the community this way. Mine agrees, as far as I know, so that’s not a problem, but why wouldn’t I just publish my work on my own blog or site of some sort, then get people to come to it so I could at least make a dime or two from ads on the page? You could come grab the code, paste it wherever necessary, and I still would’ve helped the community. Right? And Microsoft could still come grab it and put it in their code base, but that wouldn’t be mine to maintain anymore at that point.
I don’t post my work nor do I do PRs. I’m not a “good” coder and I don’t feel like dealing with the nerds in the basements of the world critiquing my work. I’ve seen them too often….complain of how variables are named, how to do better loops, how to comment “correctly”, etc. I also don’t feel like getting stuck maintaining it forever. Does that make me a mooch? Maybe. Call me what you will, but I’d much rather contribute with advise, chit chat, and copy/paste kind of hacked up code, than to provide something to a big company for free. Start paying me and I’ll be glad to do the work.