Re: [Fresco-devel] Re: ACE
Mourad De Clerck <[email protected]>
| Newsgroups | gmane.comp.video.fresco.devel |
|---|---|
| Message-ID | <[email protected]> |
Hmmm. I think there's some misunderstandings here. Let's separate two issues here: there's ACE the library, and there's TAO, the ORB. About ACE the library: Prague is just a portability layer, it abstracts out some OS-level resources (threads, etc). It got written a long time ago, and serves us well, but after all it's merely an implementation detail. We need it, but we don't want it to get in the way. I imagine ACE provides this too (Yes it's there on the website "The ACE OS Adapter Layer" and "C++ Wrapper Facades for OS Interfaces"). It does alot more than that too. I guess we could've used ACE's lower layers, but Prague was a solution to our needs a long time ago. I also doubt we'll need the other features ACE offers very soon, but if that happens, I'm sure we'll reevaluate using it instead of blindly extending our libraries. My point is: the decision to use Prague was made a long time ago, and it's in there now. It's a "fait accompli". Anyone is free to complain about the implementation decisions of the past, but it's not very productive nor helpful. And I also don't think it's very important - using Prague doesn't impose big design and architecture decisions on us. So anyone with a chip on his or her shoulder should be able to port Fresco to using ACE's lower layers anytime they bloody well want to. So, if you want to do it, feel free. It's very likely we won't at the moment because there's more interesting issues to tackle, and Prague does what we need for now. About the TAO orb: Well there's no issue here. We're using omniorb now because it's a really good orb, but we'd like to stay ORB agnostic if possible - so providing another ORB (like TAO) is compliant enough, we'd want to be able to run on that too. I doubt you'll hear any argument from us about this. I believe if TAO doesn't work and it's our fault, we would consider it a bug. About NIH in general: We usually pride ourselves for being very good at reading up a lot on different projects, libraries, etc. Just check our documentation, further reading, wiki or links (where we catalog all kinds of similar projects) section. * In a lot of cases, we can't use other libraries because of some assumptions the original library authors made. (often it's about us trying to be device independent, and libraries are oriented to working with pixels) * In some cases we have to be careful with dependencies - most of the problems new users have in building/working with Fresco are usually not with Fresco, but with one of the dependencies. * And even though we try do things right, sometimes we duplicate code - this can happen for a whole bunch of "real world" reasons (licenses, availability, complexity, etc etc). However, I think we're better than most in avoiding this. (Small aside on the license since I think you brought it up before IIRC:) Personally I'm pretty happy with the LGPL - it allows binary-only apps, and keeps the core open. On top of that, the fact that we're using CORBA makes it even more liberal. I can't think of anything people would genuinely need to keep closed that they wouldn't be able to. It's no more closed than KDE or even GNOME are, and I don't see for instance SUN being very afraid to use LGPL'ed code (like gnome). Lastly (still speaking for me personally, as always), I don't care that much about corporations - I don't believe they'd bring us all that much more useful contributions with an even more liberal license. And if I had to choose where to be wrong on the balance between rights for corporations and rights for individuals, I'd choose individuals in a heartbeat. I could make a case that XFree86's license is too liberal (which has a different scope than Fresco since we don't care about hardware but hey): having a closed source DRI driver, like for the powervr kyro, or a closed source GLX driver, like Nvidia's, and then having to deal with libc2.3 incompatibilities (dealing, more likely meaning begging for a recompile) or the outright inexistence of PowerPC binaries, is not why I came to Linux or opensource in general. Hope this clarifies some things. -- Mourad