dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]First draft of DotGNU FAQ


From: Norbert Bollow
Subject: [DotGNU]First draft of DotGNU FAQ
Date: Sat, 10 Nov 2001 01:11:36 +0100

Here is a first draft of a FAQ document for DotGNU.  This will
probably soon be merged with the Portable.NET FAQ.  Special
thanks to Bill Lance who contributed the link in question 1.0
and several of the questions.  BTW I'm still looking for a
maintainer for this FAQ :-)


The DotGNU FAQ
Version 0.0

For general information about DotGNU see http://www.dotgnu.org


The FAQ document convers the following questions:

1.0 What is the motivation behind DotGNU?
1.1 What is DotGNU?
1.2 How can I contribute?
1.3 What programming languages are supported in DotGNU?
1.4 Will C and C++ be supported in DotGNU?
1.5 How do you define "webservice"?
1.6 What about other definitions of "webservice"?
1.7 Are there ethical problems with webservices?
1.8 What are the benefits of using a remote webservice, as apposed to
  executing the same program on your own computer?

2.0 What software licenses does DotGNU use?
2.1 Does the linking exception carry over to derivative works?
2.2 What about programs which access each other through network
  protocols.  Is that a form of linking?
2.3 Is it possible to establish strong copyleft for webservices,
  that allows them to be used only by Free Software?



1.0 What is the motivation behind DotGNU?

  Microsoft's .NET is a serious threat to the future of the
  internet.  This is explained well by Richard Hillesley in "Tempted
  by .NET?", Linux User No 15 (Oct 2001), p. 15-21

  
http://www.linuxuser.co.uk/articles/issue15/lu15-Cover_feature-Tempted_by_net.pdf

  Then there are also serious privacy and security threats which come
  from Microsoft's "Passport" auth system for .NET

  The intention of the DotGNU project is to prevent the success of
  Microsoft's plans to turn .NET into another effective monopoly.

  We want to achieve this by creating a complete set of competing,
  better products, and releasing them as GPL'd Free Software.


1.1 What is DotGNU?

  DotGNU is a Free Software project to create a platform for web
  services that can be written in a variety of different programming
  languages including Java and C#.


1.2 How can I contribute?

  The best way to get started is probably to subscribe to the three
  main mailing lists and send a message to one of them (wherever you
  feel it would be most appropriate) saying what kind of thing you'd
  like to help with, and what your skills are.

  The main mailing lists are:

  * http://subscribe.dotgnu.org/mailman/listinfo/developers
  * http://subscribe.dotgnu.org/mailman/listinfo/arch
  * http://subscribe.dotgnu.org/mailman/listinfo/auth


1.3 What programming languages are supported in DotGNU?

  We want to support Java in the same way as C#/CLR (as per Microsoft's
  ECMA specs) will also be supported.  As soon as Parrot (the bytecode
  system of Perl6) is available, it will probably be added to the list
  of bytecode systems that we want to support.

  Note that with the support for Java bytecode, all other programming
  languages that can be compiled to Java bytecode will also be
  available, for example Ada95.  Also, all programs that are written
  for .NET (for example in Visual Basic) should work with DotGNU.


1.4 Will C and C++ be supported in DotGNU?

  Code which is written in C or C++ can be used with DotGNU, *if* it
  is distributed with DotGNU or otherwise installed on the end
  user's PC like you normally install software - it cannot be
  transported as bytecode to a Secure Execution Environment (SEE) on a
  remote machine, like it will be possible with e.g. Java, Ada, C# and
  Perl.  Hence C and C++ are fine for implementing parts of DotGNU,
  but they will not be an acceptable language for implementing
  webservices - at least not until someone solves the difficult issues
  of compiling C to some kind of portable intermediate representation.


1.5 How do you define "webservice"?

  "Webservices" are any services that are offered on the web
  (regardless of what technology is used to provide them).

   In order to turn this statement into an actual definition,
   these explanations need to be added:

   a) With "service" we mean not only that some functionality is
      provided, but that there should also be some description of
      this functionality, namely how the service should be used and
      what it provides.

   b) With saying that the service is "offered on the web" we mean
      that it's offered on the internet via standard protocols,
      i.e. protocols that are open, widely published, and freely
      available for anyone to implement.


1.6 What about other definitions of "webservice"?

  A definition attempt by the Stencil Group has been discussed in some
  detail on the DotGNU developers mailing list, in these messages:

  * http://archive.dotgnu.org/pipermail/developers/2001-November/001252.html
  * http://archive.dotgnu.org/pipermail/developers/2001-November/001253.html
  * http://archive.dotgnu.org/pipermail/developers/2001-November/001254.html
  * http://archive.dotgnu.org/pipermail/developers/2001-November/001255.html


1.7 Are there ethical problems with webservices?

  It is important that the user must have the freedom to move all
  their data to a computer that is operated by the user, and run the
  program there.  (Otherwise the webservice provider has power over
  the user in an unethical way by controlling the user's data.)  The
  DotGNU webservices platform will make sure that the user has this
  important freedom.


1.8 What are the benefits of using a remote webservice, as apposed to
  executing the same program on your own computer?

  Apart from special circumstances (like when you need to process huge
  amounts of data that your local computer cannot handle) there is a
  benefit to using a webservice only when the same set of data needs
  to be accessed by multiple people, or when a user needs to be able
  to access the same set of data from multiple computers.

  For example, the straightforward way to implement mailing list
  hosting is to do it as a webservice, and that is exactly what the
  implementors of Mailman, the GNU mailing list program, have done.

  On the other hand there is little benefit from implementing e.g. a
  text editor as a webservice unless there are features to allow
  multiple users to edit the same file at the same time.


2.0 What software licenses does DotGNU use?

  All official software development projects of the DotGNU
  meta-project use the GNU General Public License (GNU GPL).
  For Libraries which are intended to be linked with third-party
  programs that may not have a GPL-compatible license, as a special
  exception such linking is allowed.


2.1 Does the linking exception carry over to derivative works?

  If you create a derivative work of pnetlib or any library which is
  licensed as "GPL plus linking exception", then it is up to you
  whether want the linking exception to carry over to your derivative
  work.  If you leave the exception in the text, then it applies to
  your version.


2.2 What about programs which access each other through network
  protocols.  Is that a form of linking?

  No.  A GPL'd program can use any kind of webservice regardless
  of how the webservice software is licensed, and GPL'd webservice
  software can be used by any program regardless of that program's
  license.


2.3 Is it possible to establish strong copyleft for webservices,
  that allows them to be used only by Free Software?

  It is probably not possible to construct a Free Software license
  (which operates through copyright law) which would have this effect.


Greetings, Norbert.

-- 
A member of FreeDevelopers and the DotGNU Steering Committee: dotgnu.org
Norbert Bollow, Weidlistr.18, CH-8624 Gruet   (near Zurich, Switzerland)
Tel +41 1 972 20 59       Fax +41 1 972 20 69      http://thinkcoach.com
Your own domain with all your Mailman lists: $15/month  http://cisto.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]