I don't see how the distinction between communism and socialism applies to software. Explain?
I remember being asked to help someone debug a problem with their battle.net bot once. They send me a ZIP file with the source code inside of it. When I opened it, I was shocked to find that roughly half of the code inside was identical to the code in my bot - and it wasn't just the large amount of code I'd released to the public domain primarily on the vL forums and in other various places. Modules were not even renamed; often, I add comments with links and credits in my code, and those were all removed. There was no credit given to anyone; in fact, the owner claimed that the bot was a completely original work, from the ground up.
After I called him on it, he admitted that he had started from a barebones bot project, and modified it so that his name replaced the author - let's call him "(2xX)j0ke" to protect his identity. Way back in the day, j0ke and I were working on a project together, but it didn't last long. He kept a lot of the work I'd done, which was fine with me. The problem was that he turned around and handed it off without asking for my permission, or even acknowledging that I'd contributed.
It's infuriating to know that I spent years testing, debugging, and even learning how to do all of the things I'd done for that project, and that someone just passed it off without even a thought of where it came from. The worst part of all was that I'd contributed to what later became the first starcraft win bot.