I have a hypothesis that just the mindset of proprietary software can help develop better programs. Here are some things that I think would help to emulate it.
Write spaghetti code on purpose
Unvanquished ported to “clean” C++ and were are they now?
Seems like spaghetti code correlates with good applications. Microsoft Office for example:
Years ago as an intern at Microsoft, I had code go into the Excel, PowerPoint, Word, Outlook, and shared Office code.
Excel is an incomprehensible maze of #defines and macros, PowerPoint is a Golden Temple of overly-object-oriented insanity, and Word is just so old and brittle you’d expect it to turn to dust by committing.
[…]
Calibre is an open-source example:
[…] I’ve been doing Python for fifteen years. […] Calibre’s codebase is the absolute worst production codebase I’ve ever seen in my entire life. In all likelihood, it always will be.
[…] Where to start? I think I saw all the ills; architectural and aesthetical. […]
Add copy protection
Yes, I know that Tremulous is GPL, but it doesn’t prevent DRM from being added, it just makes it possible to remove it from source code, which kind of defeats the purpose, but the point here is not to protect Tremulous from being copied, but to emulate a mindset.
Use a “proprietary” coding style
I.e. associated with large companies which produce a lot of proprietary software, e.g. Google C++ style guide, or C# style guide adapted for C++ (Microsoft), or maybe instead stick closely to the current one (iD Software).
Introduce ads
This doesn’t even mean that Tremulous should advertise proprietary addictive games, it can advertise free software instead, remember again that the point here is to emulate a mindset. But they can certainly be annoying though (i.e. pop-ups, videos on “skip in 5 seconds” timer).