DEV Community

Discussion on: What kind of open source license should I use for my project?

ahferroin7 profile image
Austin S. Hemmelgarn

It depends on what your goal is.

If you're trying to make sure people come to you to get the software and pay you for doing so, you by definition can't allow for third-party distribution (at least, not without royalties), but that's no longer open source.

If you are just trying to sell support contracts, it depends on what it is you're trying to do (RedHat and SUSE are making significant amounts of money on support contracts for RHEL and SLES respectively, espite FOSS equivalents existing, but they're managing to do this because they are offering products enterprise users care about).

For a hybrid approach, it kind of depends on how you split it out. It's not all that hard to have a FOSS offering and then have a third-party component it can load that is not FOSS (possibly paid). VirtualBox does this (the core code is FOSS, but some of the hardware emulation capabilities are handled in plugins that are not), and there are other things that do it as well (for example, hardware acceleration for some video codecs on the Raspberry Pi works like this too, all the user-space stuff is FOSS, but you have to buy a license key that gets loaded into the GPU on boot by the firmware to be able to actually use the hardware codecs). The important part is to keep the proprietary/paid stuff isolated as plugins (and make sure that you can actually use the FOSS component to a reasonable degree without it, otherwise you will have a harder time getting users in the first place, and an even more difficult time getting FOSS contributors (because they won't be as easily able to test their changes)).