On Sat, Mar 14, 2009 at 04:44:57PM -0500, Karl Berry wrote: > But he also asks whether other persons will be allowed to contribute > code for a Direct3D backend when project is hosted on Savannah > > Yes, I understand. But who writes the code surely doesn't matter. > > Yes, but isn't that always the case when one develops code that has also > support for Win32, Cocoa(MacOS-X GUI) beyond standard C runtime? > > Hmm. The cases I'm familiar with are making a cmdline program work on > Windows (usually a few ifdefs), not having a whole GUI backend > (potentially many thousands lines of code) devoted to a nonfree system. > I'm not coming up with any coherent theoretical argument about treating > them differently, though. I suppose some GNU programs do this (maybe > even Emacs does?), in which case I guess it must be acceptable. I don't > know it for a fact, though. > > Anyway, I won't argue for it more. If there is any question, we should > probably ask rms.
Usually, portable programs rely on an external library that provides this whole GUI backend. For example the GNU FreeDink relies on the SDL game library, which itself has a separate backend for working with ms directx game library (which is shipped with ms windows). The fact FreeDink is portable implies this, I don't know of another way to proceed. However I'm careful to make GNU/Linux an attractive - no, the reference - target, rather than providing the bare minimum. The question of whether portable programs help or hinder free software progress is an otherwise vast question, but what I wrote (proprietary support is ok as long as the free software support remains equal or superior) is essentially the guideline Savannah has followed over the past few years. In this case the submitter suggests that using directx over OpenGL will help with performances. Fine. But if this generally makes directx users get better performances than OpenGL users, then I'd say there's a problem, if only because ms windows users would get better perfs than GNU/Linux users. The fact that the proprietary support is shipped within the project rather than through an external library doesn't sound important to me. What do you think? -- Sylvain
