[Meta: This message is being intentionally sent to _both of_ the
fossil-users and fossil-dev mailing lists, separately, so as to get the
maximum possible feedback and response.  I am currently subscribed to both
lists and will see any response you send to either of them.  You need not
cross-post your response to both lists unless you deem it necessary to do
so for some reason.  You can CC me or not in any response you send to a
list.  If I've violated list custom by doing this, please flame me
off-list.]

[Meta: If you want to skip ahead to what I am proposing / offering to do,
go to PROPOSED ACTION ITEM below.]



Recently on the fossil-users mailing list, Stephan Beal <
sgb...@googlemail.com> started an extensive discussion thread titled
"Random thoughts on Fossil v2", which discussed among other things creating
a library for core Fossil functionality (I'll refer to it as libfossil2)
and one or more user-facing applications which would use this library to
provide actual functionality (I'll refer to them collectively as
fossil2client).

In a response to his original post, I submitted some comments which, among
other things, suggested things I thought should be done for such a
hypothetical "Fossil v2" so as to make it easier for a Unix / Linux
Distribution to package and distribute the library and applications
according to the standards and processes they normally use.  Some of the
things I suggested along this line included:

* Fossil2client not requiring or expecting libfossil2 to be compiled /
linked into it statically, and that dynamic run-time linking be the
expected norm;

* The source for fossil2client not having an embedded copy of the source
for libfossil2 incorporated within it;

* (Unspoken here, but implicit, is that other libraries or sources for
libraries, most specifically that for sqlite3, should not be compiled into
the fossil2client statically or have a copy of its source incorporated into
the source for fossil2client either);

* Libfossil2 being implemented in such a way that multiple versions of it
can be installed simultaneously on a given system, so that different
clients can use different versions of libfossil2 if necessary and all
successfully coexist on the system.

* Otherwise doing things where possible to make it easier, or at least less
difficult / inconvenient, for a Unix / Linux distribution to package and
distribute libfossil2 and fossil2client.

* In a later response, that "amalgamation builds" not be done or expected
to be done.

* Also somewhere along here that many of these things might well also apply
to the existing fossil (v1) monolithic application, at least insofar as
they represented things that Unix / Linux distributions would need to alter
and/or undo so as to make that version of fossil conform to whatever their
internal standards for the applications they distributed and supported
happened to be.

In Stephan's response to this, he commented in such a way that it seemed he
at least believed that many Unix / Linux distributions wouldn't really care
about these things, but would just follow the path of least resistance in
terms of generating library and client binaries which they could then
distribute to their end-users.  I want to emphasize that he did not come
across as saying my suggestions were somehow wrong, but that he simply
didn't see why anybody would bother doing things other than the easiest or
default way as provided by the software as released by the Fossil Project.



I believe he is mistaken about this, and that Unix / Linux distributions in
general behave in a fashion significantly different than would an
individual end-user running on Unix / Linux who was compiling fossil for
their own personal or otherwise internal use.  I claim they do this because
they are acting, albeit generally on a far smaller scale, as an operating
system integrator, akin to what Microsoft does for Microsoft Windows or
Apple does for MacOS/X, but also on a far larger scale in that they package
and directly provide under their own auspices far more software than
Microsoft or Apple would ever dream of attempting to directly provide to
consumers of Microsoft Windows or MacOS/X.  I claim that because of this,
Unix / Linux distributions care far more about the uniformity of the
software they are accepting responsibility for providing and at least
attempting to support because while it costs them more in terms of the
effort to initially package a library or application, it ends up saving
them much more time down the line in terms of ongoing maintenance and
support of the library or application.




*****
PROPOSED ACTION ITEM
*****

Now, Stephan commented that he was not in a position to go out and find out
what sorts of things which could potentially be done by the Fossil Project
for a hypothetical fossil v2 (and/or for the existing fossil v1) would or
would not be useful to / appreciated by Unix / Linux distributions which
were choosing to provide fossil to their end-users.

I however am willing to make some effort to do so.  I believe it will be of
some benefit to the Unix / Linux distributions in general.  Further, I
believe it will be of benefit to the Fossil Project community and its
developers to be educated as to what Unix / Linux distributions need /
expect / desire from their upstream software providers (e.g. the people
creating the software that the distributions package and distribute to end
users), and what sorts of hoops the distributions have to jump through to
accomodate software which does not meet their standards (whatever those
standards happen to be).

However...  To do this effectively, I first need some guidance from you
all.  There are approximately 50 zillion distinct active Linux
distributions in the wild, tho only a relative handful of them are of real
significance in terms of size of installed userbase, influence on other
distributions or significance within the world of computing in general,
etc.  There's at least a solid handful or two of BSD Unix-derived
distributions, tho again they vary in size of userbase, influence,
significance, etc.  Finally, there are other F/OSS Unix-like or other
operating systems out there; the first that come to mind are the competing
flavors of Open Solaris (or whatever it's called today).  Cygwin might
count under this as well; I think there's a F/OSS version of VMS (the one
originally developed by DEC); etc.

I simply don't have the time or energy to investigate all 50 zillion Linux
distributions.  While the BSD Unix-derived and other Unix and non-Unix
distributions are a much more manageable number, I don't want to bother
with ones which the Fossil Project and its primary developers /
contributors don't care about, because that seems like a waste of time to
me.

Therefore:

--->

I would like to know what Unix / Linux distributions (and if applicable
non-Unix distributions) the Fossil Project cares about, in terms of fossil
AS PACKAGED AND DISTRIBUTED BY THE DISTRIBUTION.

<---

I am specifically *not* speaking of a distribution just taking and
redistributing the pre-compiled fossil binaries as distributed by the
Fossil Project itself (I doubt there's any that do so).

Instead, I am speaking of a distribution taking the source code to fossil
(as said source code is distributed by the Fossil Project as a tarball or
whatever), making whatever modifications to the source code the
distribution finds necessary to make, compiling and linking the resulting
source code to create executable binary files, and then redistributing the
resulting executable binary files and/or modified source code to the users
of that distribution.

I want to know what distributions that do this sort of thing are important
to the Fossil Project and its primary developers, in that the Fossil
Project would like to make (or at least learn what would make even if the
Fossil Project is unwilling / unable to do those changes) that
distribution's life easier, would like the distribution to package and
distribute fossil if they do not currently do so, and would otherwise like
to learn more about the distribution and how the distribution views fossil.

This will let me know what I should focus my energy on, at least to begin
with.



Once I find out from you all what distributions I should focus on, I will
seek to find out for you:

* How the distribution takes the source to fossil v1 as distributed by The
Fossil Project, what modifications if any it makes to the source code,
build system, etc, and how it packages and distributes the result to end
users (assuming it does in fact distribute fossil, of course);

* Any statistics the distribution has on how many of its users use fossil
as packaged by the distribution, information on what version of fossil they
are currently distributing, how well they seem to be keeping up with past
and new releases, etc;

* General policies and procedures the distribution has for the applications
it packages and distributes, such as for instance policies towards embedded
copies of library source code, etc;

* Any information the distribution has for its upstreams, as to how the
upstream can better and more usefully interact with the distribution,
and/or what the distribution can do for the upstream;

* Any information available on the normal C compiler used by the
distribution for compiling C programs it packages; normally this will be
some version of GCC, but some distributions might use alternative C
compilers such as clang;

* Any sorts of information you all indicate you would like to know or would
find of use or interest;

* Any other information that looks like it might be of interest or
importance.

I will make it quite clear in my inquiries that I am NOT speaking, in any
way whatsoever, as part of the Fossil Project but solely as an interested
bystander not otherwise affiliated with the project.  I will make it quite
clear that I am NOT committing the Fossil Project to do, or not do,
anything whatsoever.  I intend to keep you all in the loop in inquiries I
send to the maintainer / packager of fossil for various distributions
(generally by CCing one of the lists), and (unless you all say otherwise) I
will invite the maintainer to contact the Project directly via its mailing
lists (would you prefer fossil-users or fossil-dev?) with any response the
maintainer cares to make.



A few suggestions for distributions the Fossil Project might wish to
consider saying "We care about this distribution and its packaging and
distribution of fossil" are:

* The Debian Project -- http://www.debian.org/

* Ubuntu Linux in its various flavors -- http://www.ubuntu.com/ -- largely
derived from Debian but big enough on its own to be considered a
first-class distribution, both commercial and non-commercial

* The Fedora Project -- http://fedoraproject.org/ -- this is sponsored by
Red Hat

* Red Hat Enterprise Linux (RHEL), and its derivations CentOS and
Scientific Linux (SL) -- http://www.redhat.com/products/enterprise-linux/ ,
http://www.centos.org/ , https://www.scientificlinux.org/ -- RHEL is
commercial, CentOS and SL are non-commercial repackagings and
redistributions of RHEL (as allowed by applicable software licenses)

* OpenSUSE -- http://www.opensuse.org/en/ -- this is sponsored by Novell

* SUSE Linux -- https://www.suse.com/ -- also by Novell, commercial

* FreeBSD Project -- http://www.freebsd.org/ -- I believe this is the most
popular BSD Unix variant out there, at least as FOSS.



So, anyway, that's what I'm offering to do for you all, at least if you
want it.  Let me know if you do want it, and if so how.



Thanks for giving me some of your time by reading this (lengthy, I know)
message.  I hope you've found it of some use, interest.  Be well.



Joseph
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to