On 28/04/2013 02:24, Randy Barlow wrote: > The project that I work on does not "force" you to use MongoDB. However, > if you wish you make use of my project in the way it was intended to be > used without modifications, you will need to use MongoDB. It's a hard > dependency. Nobody is forcing you to use my project, and there are > alternatives you can choose from. You also have the freedom to git clone > us, and change it to use SQLite, or MariaDB, or PostgreSQL, or anything > else you like (however, if you use LDAP as a database, I know someone > who might hunt you down!) By the nature of us giving you the code with > an Open Source license (GPL), it's freedom for you, not force.
This paragraph highlights the essential difference. You don't say what your project is, but reading between the lines I think it's safe to assume it's a somewhat niche project with specific goals that solves a specific problem, right? Such projects come with their dep list as you pointed out and this only affects the machines that project runs on. In eight years hanging out on this list I don't recall any cases of users complaining about deps of projects in such a class. What we complain about here is basic low-level software changes that affect much more than just their own little universe, and will do it ON ALL LINUX MACHINES NOW AND IN THE FUTURE. That is a whole different kettle of fish entirely and is interpreted very differently from what your project does, this is the point where the analogies break down. Regardless of how similar two things may appear on technical merit, the reaction of users is always the deciding factor. udev rules changed network names for all recently updated Linux machines everywhere. Separate /usr caused changes to many machines not using an initrd, and will continue to do that for all time. systemd changes how sysadmins start and shutdown their machines, and how that works for every service on the host whether the sysadmin likes it or not. PA makes deep changes to how the machines handles sound, and the user for the most part never agreed to have those changes. The user agreed to use Gnome and the change came in from left field unexpected. With your project, the user knows upfront they will need MongoDB, they make an informed decision about this before ever emerging your code at all. So your analogy doesn't really hold true. A much better analogy would be if your project used MySQL and one day you required them to upgrade to Oracle (and not the free one either...). Plus, you don't really give them a choice - you also say that all support for all currently released versions will end in 6-12 months. You are giving the *apparency* of choice, whilst creating the *reality* of no (or very little) choice. Does this not look to you a lot like lock-in? -- Alan McKinnon alan.mckin...@gmail.com