Date: Wed, 20 Apr 2005 06:00:39 +1000 From: Peter Jeremy <PeterJeremy@optushome.com.au> To: dragonfly dragonfly <dragonylffly@hotmail.com> Cc: freebsd-arch@freebsd.org Subject: Re: How about porting LVS to FreeBSD Message-ID: <20050419200039.GA12673@cirb503493.alcatel.com.au> In-Reply-To: <BAY19-F250EDA104BF5F539706E93DE2A0@phx.gbl> References: <BAY19-F250EDA104BF5F539706E93DE2A0@phx.gbl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2005-Apr-19 09:08:29 +0800, dragonfly dragonfly wrote: > LVS(http://www.linuxvirtualserver.org/) is a widely used server cluster >schedule system,which is be included in Linux official kernel 2.4 and 2.6 >release. > Recently i ported LVS/ipvs to FreeBSD,and released 0.1.0 version >(http://dragon.linux-vs.org/~dragonfly/htm/lvs_freebsd.htm). In its current form, this code cannot be technically or legally incorporated into the FreeBSD base. Looking at the legal aspects: LVS is covered by the GPL which is incompatible with the BSD license. This is a significant impediment to LVS being included in the base system. As a minimum, all GPL code must be clearly identified and it must be possible to remove the code from the kernel compilation. Whilst you have segregated some of the code into a kernel module (ipvs), there are still 14 files added or changed in the base kernel. I also note that there are no sources to ipvsadm - which is supplied as a Linux executable. Of the 14 files affecting the base kernel: - 1 includes a copyright statement with no rights statement. This code cannot be legally used since the authors have implicitly retained all rights to the code and it therefore cannot be used by anyone else. - 4 files have no copyright statement, though in at least once case, the comments imply that a GPL copyright statement has been deleted. Again, this code cannot be legally used. - The remaining 9 files are replacements for existing FreeBSD files and include existing copyrights. There is no obvious legal impediment to those files, though studying the changes would be necessary to confirm that. As to the technical issues: The "patch" includes 9 existing files that replace existing files. This is a totally impractical way of supplying code changes. The CVS ID's in those files imply that they come from RELENG_5, possibly 5.3-RELEASE. FreeBSD rules require that all new features must be applied to HEAD (currently 6.x) first. This ensures that: 1) The new features are not lost as FreeBSD moves forward. 2) New, potentially buggy, code is tested in the "development" branch before being added to a "production" branch. The changes to the existing code must be supplied as context or unified diffs to ensure that other changes to the code are not lost. Much of the new code is not style(9) compliant which would also prevent its inclusion into the base system. -- Peter Jeremy
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050419200039.GA12673>