Sure, but that's extra work and you lose name recognition (look at "Iceweasel"...). Plus, from the looks of it, the ZDoom team says that even switching to a different sound library is too much trouble. If it's too much trouble for you guys, why do you put forth this solution to linking with closed binaries, because that's a process that's ostensibly more work, especially if the Apache devs are working against you (and they probably would be). You guys say: "why should ZDoom spend valuable development time reimplementing features formerly provided by proprietary codebases/libraries just to appease open source extremists?". But I can respond: "why should 'FreeApache' devs spend valuable development time reimplementing a tethering library just to appease greedy/suspect developers?"
You are allowed to fork right? :P More importantly, nothing would stop you from making an alternative to libpoison.so using the same ABI.
It sort of sounds like you agree with me here in some respects: developers should be able to use as much code from other sources as possible. The question is how we achieve that. I believe, and will argue strongly, that the GPL is the best way we can ensure the highest level of code access for developers. It essentially forces openness; it's not optional.
While I see your point, I don't exactly see the point of holding a project back simply because the free alternatives suck (SDL_mixer). More importantly though if someone is working on a build engine port, why should they not be allowed to use ZDoom's resource system? Certainly it isn't their fault build is not GPL. (Yes that's debatable, but I don't want to think of another example at the moment.)
Let's use some short hypotheticals. If BUILD were GPL, FMOD were GPL, and Heretic/Hexen were GPL, none of these problems would exist. Now you can say, "OK, but that just shows the GPL's fragility. FMOD isn't GPL compatible, so the whole situation falls apart." You'd be absolutely right about that. But let's assume each project is BSD. Now if one of the game projects is closed source, you can't use it (because you don't have the code). Suddenly ZDoom loses a ton of features.
Furthermore, it's also not possible for the GPL hypothetical to ever go wrong. Once a codebase is GPL that's that (pretty much anyway). BSD provides no such guarantees, and specifically so; BSD advocates view the fact that their licenses allows closed source as a feature. In the BSD hypothetical, there is nothing at all that prevents those game projects from closing their source and screwing downstream devs, forcing them to rely on older codebases and implement new features in tandem with the new, closed version or risk obsolescence.
BSD solves none of the issues. Closed source and GPL incompatible projects are the problems.
Sure, the GPL is definitely designed to try and force people to open source their code. The problem isn't the license, the problem is the closed-source binary blob NVIDIA puts on our systems. There's nothing good about closed source, the only reason anyone's upset about this is that NVIDIA makes super fast video cards and users want that. No one is like, "closed source is so awesome, I can't believe I don't run more of it". The whole situation would be way better if NVIDIA's drivers were just open source.
Another example of the GPL being "asinine:" Why can't nVidia use DMA-buf? It's merely an issue of trying to force nVidia to open source their video driver (which, whether you think they should or not doesn't particularly matter since they may have code they can't share for whatever reason). The result is we can't have optimus graphics with the binary blob due to an idealist position.
Open source is arguably the best thing ever to happen in software. Other than TRON, it's responsible for the most popular OS on the planet. It's responsible for the most popular internet software on the planet, including browsers, web servers, FTP servers, SSH/SFTP servers, etc. FOSS advocacy is the reason we can watch videos and listen to music on our computers without paying royalties. This stuff is just so much more important than "this library is easier to use".
I'm all for promoting open source, but it needs to provide a better experience for the end user. Otherwise you're only making yourselves look bad.
Probably not. NVIDIA drivers will likely just perform a little worse until they either find a workaround or (and I agree this is highly unlikely) they open source their drivers. Probably a workaround is forthcoming, maybe in the form of a NVIDIA-sourced shim that is GPL (so it can link w/ the kernel) but also has an exception for the NVIDIA driver.
Graf Zahl said:
The base blzut pointed out is a classic case of open source extremists trying to force their view upon others with no regards to the consequences.
If you want open source you have to compromise eventually just so that you can get what you need.
If certain companies ignore your software it may be your loss in the end, especially if you want to force some company like NVidia to make all their research public just to defend your ideal. The most likely answer you might get is 'F*ck you!'.
I also want to explicitly say that open source advocates are constantly looking at the consequences, but the consequences they see are a nightmarish landscape where Microsoft and Netscape are fighting each other in the browser marketplace using features like the MARQUEE and BLINK tag, or monopolistic, proprietary tie-ins with their dominant desktop OS. When OSS browsers came into being, they effectively made the web a serious platform for development; before that it was just another delivery mechanism for big media, controlled by the big dev companies.
The NVIDIA problem is caused by NVIDIA, not the GPL. People make the same argument about XCode not being able to incorporate GCC into its codebase, "the evil GPL prevents us from using the most popular compiler ever". No, you just can't have your cake and eat it too. You can't benefit from the openness that the GPL enforces and not provide those benefits yourself, that's manifestly unfair.
This is the reason why EE and ZDoom share code so freely, because we understand the benefits of openness and cooperation, and it only works if the benefit is mutual. No one benefits if (if this were even possible) EE and ZDoom close their code bases.
This isn't as clear-cut as you might think. Licenses are also features, or in some cases, hindrances. For example, the IDL wanted to broadcast its games on some ad-supported websites, which is against the BUILD license. If ZDaemon (and of course ZDoom) didn't have the non-commercial-use only restriction, that wouldn't have been a problem.
The point is that working in an idealist world you neglect what your consumers actually want. The DMA-buf stuff is an example of "we want optimus support so we can get good battery life," and someone going "be open source then." It's "asinine" to think that that gets us anywhere.
I also think it helps to try and think through one's philosophy to its logical conclusion to see where it leads. If we do this for open source advocacy, everything's fine, everyone can use everyone's code, no community is stuck with tyrannical leaders with an iron grip on the project, etc. If we do this for closed source advocacy, we see that we get competing, buggy implementations whose #1 feature is to compete. Look at Microsoft's deliberately busted version of Java in the 90s.
I mean it sounds like ZDoom devs actually agree with the main point, that code access and reuse is critically important because they lead to feature development, which is what users want. But BSD and non-commercial licenses are just not the way to achieve this, all they provide is a fractured application landscape.