One of the core values of Solaris is that sharable things really should be shared.
This begs the related questions of What constraints does this place on the shared component, and What do you do when the shared thing evolves Sun has a proactive development methodology that looks at proposed changes to shared components and tries to determine their downstream impact. The focus is on setting and managing expectations; the "promise" is that if you restrict yourself to reusing only "Stable" interfaces, you can depend on us to ensure things keep on working; if you use Volatile or Private interfaces, things may work fine now but could break unexpectedly in the future. Without this ability to manage the evolution of shared components, it becomes extremely difficult to reuse them, because asynchronous development almost guarantees that a change to the shared component will break a consumer, and that multiple consumers rarely depend on the same version. The "solutions" that exist seem to require control of the evolution of the shared components (Sun...), or require control of the release process (gentoo...) "rebuild the entire world", or require control of the stack (blastwave...) "duplicate as needed to ensure we have what we need" worst case is redhat with multiple versions of every library. Given the dynamics of the FOSS world, I'm not sure that there is *a* right answer here at all - just a series of compromises that reflect each individual's own personal risk tolerance. -John _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org