On 7/14/05, Keith M Wesolowski <[EMAIL PROTECTED]> wrote:
> On Thu, Jul 14, 2005 at 11:47:26AM -0500, James Dickens wrote:
> 
> > easy to symlink from a community location even if you have to have one
> > version for packages compiled with gcc and another that are compiled with
> > Sun Studio, 2 is still better 4 or 8.
> 
> The alternative would be to declare as policy that all such software
> be built with the same compiler.  That's simpler, but it restricts
> developer choice and in some cases might make it impractical to
> include some piece of nonportable software.

The Blastwave approach is simple really.  The base OS to be supported
is Solaris 8 on x86 and Sparc.  We rely on the backward compatibility
nature of Solaris to _ensure_ that software that works fine on Solaris
8 actually does work as expected on 9 and 10.  This sometimes is not
the case and we have to resort to arcane testing and adhoc procedures
to work out a troublesome package like Scribus.

The compiler is to be Sun ONE Studio 8 and only recently have we gegun
to look at Sun ONE Studio 10.  For obvious reasons when one considers
the AMD64 architecture not to mention the overall improvements in the
Sun ONE Studio 10 developer tool set.

GCC has been used in cases where the code is simply not at all
responsive to the Sun ONE Studio tools.  KDE is a geat example and I
think that the work done by Stefan really is fantastic in this regard.
 We can finally get KDE to build with the "standard" tools.

The concept with Blastwave was simple : ensure that the process was
open and that software for Solarisusers was built and maintained by
other Solaris users.  Add in some quality control and mirror sites
with the pkg-add delivery mechanism and you have the makings of a nice
software project that everyone can use.

Here is something that I wrote a long time ago but it descibes the
project I think.

---------------- blastwave.org

    What is Blastwave 
    by Dennis Clarke

    The  "blastwave.org"  community  concept  and  website   were
created  by the author in response to a perceived need by Solaris
users. The need was for publicly available open  source  software
that  was  maintained  by  members  of  the users community. This
entailed more than  just  access  to  software  via  ftp  or  web
download.   This  meant  that  access to the software maintenance
process would be open to members  of  the  users  community.  The
needs  of  the Solaris user would be met by another Solaris user.
What was needed was an open facility that would  allow  users  to
create the software packages for themselves.  The "blastwave.org"
web site was created to respond to this need. Those needs are now
being met.

    Software  "maintainers"  join  the  organization   via   open
invitation.  Either  we  approach them or they approach us with a
need.  In most cases the need is mutual and then  the  access  to
the  site  is  granted.  The maintainer is then granted access to
"build servers" as well as the necessary storage on  the  central
"blastwave.org"  NFS  server.   The  maintainer  is  expected  to
conform to software package standards and the resultant  software
package  is  submitted for open review and testing by the members
of blastwave.org before public  release.   The  software  package
will  be  subject  to  review  by  the public and a bug reporting
process is in place for feedback. These bug reports are  assigned
and then handled based on priority and severity.

    The software,  upon  public  release,  is  delivered  to  the
Solaris  user  by  a  number of "mirror sites" located around the
world.  The end user is not expected  to  manually  ftp  or  http
download  a file, unpack and then install the software package as
well as all its dependencies. This is  seen  as  an  unreasonable
burden  on the end user.  The "pkg-get" software was written such
that the end user need know nothing other than the name  of  what
they  need.   A simple command line entry by the user will result
in the package being downloaded from a mirror site,  checked  for
dependencies,  then  all  of  these software dependencies will be
installed for the user. Most of the  software  packages  will  be
configured for the user by scripts written such that the end user
will be up and running instantly.  The Apache web server  package
is  very  popular  for  this  reason.  The  software packages are
coordinated to work together, even across different  maintainers.
Our  collection  of  apache  modules is a fine example of this. A
user can run a single pkg-get command, to install a  working  php
webserver  with  openssl  support, in one pass. Additional apache
modules can easily be added via the  pkg-get  process.   All  the
software  is  created  and packaged for the x86 and Sparc Solaris
user on a baseline  release  of  Solaris  8.   All  the  software
packages  must  be available for both x86 and Sparc before public
release.  We review and test intermediate builds internally.  The
software  is  expected  to  be  available  as  a  64-bit solution
whenever it is possible to do so.


2.  HISTORY

    The "blastwave.org" site and build servers were born out of a
grassroots movement which had little in the way of resources.  In
the beginning the maintainers list was no more than four  people.
The  initial  web site was created in less than a day with an old
discarded Sun Ultra 1 server.  The  build  servers  were  equally
impressive.   There  was  a single Ultra 2 with 200MHz processors
and 256Mb of RAM.  The x86 build server was a clone  with  400MHz
Pentium  processors and 512Mb of RAM.  We were very thrilled when
the web server saw its first  1000  hits.   That  was  the  first
month.

    As the word of our existence spread through the  internet  we
rapidly  saw  maintainers join, create software packages and then
respond to public bug reports with maintenance updates.   We  had
found  that  there  were  many bright and motivated Solaris users
that were happy to become the package maintainers for "their  own
software".   They  took personal ownership and pride in what they
had built and were happy to defend its viability via  maintenance
and cooperation.  Our need for internet bandwidth was not seen as
a great issue as we seldom transfer large amounts of  data.  Then
after  six  months we had three mirror sites and some fifty or so
software packages for x86 and Sparc Solaris users.  We had become
a  community  open  source  site  for  Solaris  users.  Then came
dramatic growth.

[ new paragraph here ]

    By late 2004 we were able to measure some 8000 software package 
ddownloads daily from one mirror server.  There were about thirty mirrors.
The website saw explosive growth and was well over a quarter million 
visitsper month.  It seemed reasonable to assuem that the project was 
successfully providing software for Solaris to users that wanted a single
unified source of libraries and dependencies. Certainly people wanted this
software to be available to them easily and feedback indicated that end users
were very happy indeed.  Software package number 1000 was added in Q1
of 2005 with no slowdown in growth and the administration work required
to maintain the project was now well past a full time task.

3.  THE PRIMARY PROJECTS

    The initial intent of the "blastwave.org" site was to provide
Solaris   users   with  equal  access  to  open  source  software
regardless of the users  choice  of  architecture.   We  now  see
blastwave.org as an open source community site for Solaris users.

    3.1    CSW - Community SoftWare

        Every software  package  is  to  be  current  and  to  be
provided for the x86 and Sparc editions of Solaris.  This is seen
as a  firm  mandate.   The  initial  members  of  "blastwave.org"
debated on the base release to support and Solaris 8 was accepted
for various reasons.  The most obvious was cost.  Solaris  8  was
seen  as  being a very recent and affordable option for x86 users
and Sparc users alike.  We also knew that software that ran  well
on  Solaris  8  would almost certainly run with the new Solaris 9
release.  The Community Software  (  "CSW"  )  project  was  thus
begun.   Initially  the  CSW project was the only real reason for
the organization to exist.  Recent progress with Solaris  10  has
forced the addition of specialized Solaris 10 build servers.  The
maintainers have all agreed that we shall use Solaris  8  as  our
base operating release.  We have also agreed that Solaris 10 is a
wonderful creation and that dedicated Solaris  10  build  servers
are needed to support the AMD Opteron 64-bit architecture.

        The simple creation of a  software  package  which  could
then  be  offered to the public via FTP or HTTP download was seen
as primitive. Debian Linux provides its users with the ability to
simply get software via a facility called "apt-get".  This script
would allow the end user to simply type a command line  and  then
the  software  and  all  dependencies  would  be  downloaded  and
installed.  We felt that this was a far more intelligent  way  to
proceed.   Therefore  the  CSWpkgget  tool  was crafted by Philip
Brown.  The end user could now select their software from a  list
with  the command "pkg-get -a".  The user may install all that is
needed  with  "pkg-get  -i  softwarename".   The  most  wonderful
facility  is the ability to update software, all software, with a
very simple command "pkg-get -u".  The  last,  and  perhaps  MOST
salient point, is that the CSW project provides rapid response to
the user community via software offerings, bug reports and fixes.
Users  did  not  need to wait for months to gain access to latest
editions of software or for a bug report to be handled.  The  KDE
3.3.1  packages were created in less than eight days from the day
that the source was released. This rapid response ensures that we
may  offer  Solaris users the most up to date software before any
of the Linux distributions. We refer to this speed  as  "internet
time".   Critical  bugs  will  be  fixed  within  days.   The CSW
packages for Openssh and Openssl are popular for this reason.

        The  CSW  project  has  core  maintainers  and   software
projects.  The  admin  and owner Dennis Clarke is responsible for
all infrastructure that is required by the project.  Philip Brown
is  the  maintainer  of the core foundation software offerings as
well as the primary creator of our standards  for  packaging  and
naming.   We  have  a  dozen  members that are involved in almost
every large software build at various  levels.   The  process  of
creating  a  large  package such as KDE, GCC or GNOME needs input
from a number of people to ensure a quality product.   There  are
another  ninety  members  that  become  involved  as  required or
requested for their own software packages.  A number of  software
engineers  from Sun are now maintainers also and this has allowed
for a gentle merger of the community  programmers  with  internal
Sun developers.  There is a wonderful cooperation and team effort
by Solaris Community members and Sun Microsystems people.

    3.2    Solaris 10 and Solaris Express

        Each and every package that is  created  within  the  CSW
project  will  be  expected  to  run  within  Solaris  10.   This
expectation clearly  requires  software  testing  with  the  most
recent build of Solaris 10. Therefore separate Solaris 10 servers
have been required for testing by the maintainers.  We feel  that
Solaris  10  build  servers  for  each  supported architecture is
absolutely required as the Solaris  10  release  will  force  the
demand  upon  us.   The  team  effort between Sun and the Solaris
Community is very powerful.  Sun has donated AMD Opteron hardware
as  well  as  UltraSparc III servers to ensure that Blastwave can
create and deliver software to all Solaris users.


-------------------

The story is not complete as I now have the PowerPC port project to
add into the mix and also I feel that users should have access to test
hardware via console access.  Let's suppose that someone needs to
completely build and then BFU an OpenSolaris build but they do not
have access to the hardware?  I have long wanted to build an
OpenSolaris GRID and I sent in a proposal on such a structure to
Stephen Harpster months ago.  The idea was simple really, give people
access to what they need and create a low barrier to entry.  Help
them.  Let them completely netboot a server from a jumpstart server
and then build OpenSolaris and let them do what they want.  The only
matter left would be to manage the resouces. Something that I have
been doingfor some three years now.

I personally feel that this does not need to be torn down and thrown
away in order to move forward.  I'd like to believe that it can be
expanded and then grown with other features such that Solaris users
and OpenSolaris project members can get what they need, built it, test
it, play with it, work with others and then roll it out without ever
leaving their chair.

At least that is my vision.


Dennis Clarke
Director and Admin for blastwave.org
[EMAIL PROTECTED]

ps: I can generally be found at irc://irc.blastwave.org/blastwave
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to