From owner-freebsd-questions@FreeBSD.ORG Sun Dec 16 11:35:27 2007 Return-Path: Delivered-To: FreeBSD-Questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E720D16A417 for ; Sun, 16 Dec 2007 11:35:27 +0000 (UTC) (envelope-from modulok@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.246]) by mx1.freebsd.org (Postfix) with ESMTP id 86B5113C442 for ; Sun, 16 Dec 2007 11:35:27 +0000 (UTC) (envelope-from modulok@gmail.com) Received: by an-out-0708.google.com with SMTP id c14so531275anc.13 for ; Sun, 16 Dec 2007 03:35:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:mime-version:content-type:content-transfer-encoding:content-disposition; bh=ENLnl4JIrTc2AWg5G0KzUkPp8VWF4yZUCS+YRBmybRE=; b=C2xfGOjuVQh1Z54d3Ez8/QjBpyzCL9cSqKvqwn8F7AUmKC+dD6XXZ0byjomz6ZJYbL8TNu/O9MUQ6cvSiHe4hMaoJYYZggS27ykeAaxsw5G6hPUav2p/qrOGVQGkMJg49y8dPkkT4b3raYCeVIlJ2HzrSHKvzfi1KN8+Ej8TY7w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:mime-version:content-type:content-transfer-encoding:content-disposition; b=DFzfBXdKX1VCYZuF2uYT0HHD1bQAgXtq4ZIa4xu55iKeqZxcD+NO4fz15bck/m62Qfuhw/GQmR42lwUSsfIJUrMFDW3M2lRiFjegVXtgTIM7gu3mrjFuWNu8zud4inmfHrvAz91ZFstAlP2YIr/4Bqtk3KUZ9yRYgHscn9r+dEw= Received: by 10.100.225.19 with SMTP id x19mr1437741ang.60.1197804927019; Sun, 16 Dec 2007 03:35:27 -0800 (PST) Received: by 10.70.70.2 with HTTP; Sun, 16 Dec 2007 03:35:26 -0800 (PST) Message-ID: <64c038660712160335x61bc5965m74aa98e5cc5e21af@mail.gmail.com> Date: Sun, 16 Dec 2007 04:35:27 -0700 From: Modulok To: "Tino Engel" MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Cc: FreeBSD-Questions@freebsd.org Subject: Dependencies. (was: "Yikes! FreeBSD samba-3.0.26a_2, 1 is forbidden: "Remote Code Execution...") X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Dec 2007 11:35:28 -0000 >>Code re-use is a good thing. Intricate, far-reaching dependencies are >> not. While package managers attempt to mitigate the underlying issue, >> using code re-use as an excuse for the fragility of a system design, >> is unfortunate. I do not pretend to have all of the answers, but I >> feel that current state of things could be much improved. On 12/15/07, Tino Engel wrote: >I think that what you describe as "intricate, far-reaching dependencies" >is determined by adequately designing a complex system in order to keep >it modular (in not over-sized modules) and therefore easy-to-maintain. We concern ourselves with the size of a given module in light of reducing system resource usage, (namely storage space and arguably memory usage) but we don't blink at burning 300+ megs on the ports collection... the majority of which consists of build skeletons for packages that are not installed. What happens when the ports collection grows to double it's size? Then double again? Not to worry, we'll be saving disk space on installed modules, by sharing modules between packages. (Thus making them intricately dependent upon one another.) Furthermore, we'll install them all in a single directory by default, such that they exist within the same namespace, presenting the opportunity for name conflicts. While things such as name conflicts should not happen. In the real world, they do. Come to find out, trying to maintain all the little pieces was a royal pain and thus we birthed a toolset in an attempt to solve the problem, both keeping track of dependencies and conflicts. Package managers of every shape and size popped up. While they certainly do mitigate the issue to various degrees, they do not solve the underlying problem. Often they introduce new problems. >And this is imho the only effective way to structure a big software project. So between now and eternity it is not possible for anyone to ever come up with a solution that is better? I'd like to hope otherwise. Yes, what we have works...sort of. (Your milage may vary.) Is it better than what we had? Arguably. Could it still be improved? I sincerely hope so. Sorry for the seemingly endless ranting, I'll shut up eventually :p -Modulok-