Skip site navigation (1)Skip section navigation (2)
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>