Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc/faq
diff options
context:
space:
mode:
authorAaron Weber <aaron@mono-cvs.ximian.com>2001-12-21 20:18:49 +0300
committerAaron Weber <aaron@mono-cvs.ximian.com>2001-12-21 20:18:49 +0300
commit2f41a875fec76a4f1fff1b14dbb4f339ef92bc2c (patch)
treef7068895592b5a30e204c2f7280dc07a1d1539fe /doc/faq
parent3672a69604217ee4c210d05a04843baed52adc75 (diff)
2001-12-20 Aaron Weber <aaron@ximian.com>
* doc/faq: added <a name=""> nav links, and moved all MSFT-related questions into a single section. svn path=/trunk/mono/; revision=1671
Diffstat (limited to 'doc/faq')
-rw-r--r--doc/faq311
1 files changed, 133 insertions, 178 deletions
diff --git a/doc/faq b/doc/faq
index 697f412a530..087d9318f16 100644
--- a/doc/faq
+++ b/doc/faq
@@ -1,21 +1,41 @@
+<a href="#basics">Basics</a><br>
+<a href="#ximian">The Ximian Role in the Mono project</a><br>
+<a href="#gnome">Mono and GNOME</a><br>
+<a href="#msft">Mono and Microsoft</a><br>
+<a href="#pnpproject">Mono and the Portable.NET Project</a><br>
+<a href="#webservices">Web Services</a><br>
+<a href="#devel">Development Tools and Issues</a><br>
+<a href="#java">Mono and Java</a><br>
+<a href="#extending">Extending Mono</a><br>
+<a href="#portability">Portability</a><br>
+<a href="#reuse">Reusing Existing Code</a><br>
+<a href="#gcc">Mono and GCC</a><br>
+<a href="#performance">Performance</a><br>
+<a href="#licensing">Licensing</a><br>
+<a href="#etc">Miscellaneous Questions</a><br>
+
+
+<a name="basics"></a>
** Basics
Q: What is Mono exactly?
-A: The Mono Project is a community initiative to develop an open
- source, Linux-based version of the Microsoft.NET development
- platform. Its objective is to enable Linux developers to build and
- deploy cross platform .NET Applications. The project will
+A: The Mono Project is an open development initiative sponsored by
+ Ximian that is working to develop an open source, Linux-based
+ version of the Microsoft .NET development platform. Its objective
+ is to enable Linux developers to build and
+ deploy cross-platform .NET Applications. The project will
implement various technologies developed by Microsoft that have now
been submitted to the ECMA for standardization.
-Q: Is Mono a .NET implementation?
-
-A: No. Microsoft.Net is a broad, company-wide effort that ranges from
- development tools to end user applications. Some components of
- this initiative have been announced and some others are in the
- works.
+Q: What is the difference between Mono and the .NET Initiative?
+A: The ".NET Initiative" is a somewhat nebulous company-wide effort by
+ Microsoft, one part of which is a cross-platform development
+ framework. Mono is an implementation of the development framework,
+ but not an implementation of anything else related to the .NET
+ Initiative, such as Passport, software-as-a-service, or
+ corporate rebranding.
Q: What technologies are included in Mono?
@@ -33,8 +53,6 @@ A: Mono contains a number of components useful for building new
* A compiler for the C# language. In the future we
might work on other compilers that target the Common
Language Runtime.
-
-
</ul>
@@ -68,18 +86,15 @@ Q: Will you implement the .NET Framework SDK class libraries?
A: Yes, we will be implementing the APIs of the .NET Framework SDK
class libraries.
-Q: What does Mono stand for?
+Q: What does the name "Mono" mean?
-A: Mono is the word for `Monkey' in Spanish. We like monkeys.
-
- It only means a number of other things: monochromatic (hence the
- gray theme used in the Web site).
+A: Mono is the word for `monkey' in Spanish. We like monkeys.
Q: When will you ship it?
-A: It is premature to target a shipdate for the code. While we anticipate
- availability in the middle of next year, the more contributions we
- get to the project, the sooner it will ship.
+A: It is premature to target a shipdate for the code, but we
+ anticipate that it will be available some time in the middle of
+ 2002.
Q: How can I contribute?
@@ -92,15 +107,18 @@ A: We are interested in providing the best tools for programmers to
provide the interoperability that will allow those systems to fit in
with other standards.
- Please read the <a href="http://www.go-mono.com/rationale.html">Mono
- Project white paper</a> on Ximian site] for more background and the
- rationale for the project.
+ For more background, read the <a href="http://www.go-mono.com/rationale.html">Mono
+ Project white paper</a>.
+ the project.
+
+
+<a name="ximian"></a>
-** The Ximian role in the Mono Project
+** The Ximian Role in the Mono Project
Q: Why is Ximian working on .NET?
-A: We are interested in providing the best tools for programmers to
+A: Ximian is interested in providing the best tools for programmers to
develop applications for Free Operating Systems.
For more information, read the project <a
@@ -108,25 +126,23 @@ A: We are interested in providing the best tools for programmers to
Q: Will Ximian be able to take on a project of this size?
-A: Ximian cannot and will not be able to take on the whole project on
- its own. Ximian is spearheading the effort and providing a call to
- action. Mono will be a free software/open source community
- project; that is the only way to implement something of this
- size. Visit the <a href="contributing.html">contributing</a> page
- on this site to learn more about what you can do.
+A: Of course not. Ximian a supporter of the Mono project, but the only way
+ to implement something of this size is for the entire free software
+ community to get involved. Visit the <a href="contributing.html">contributing</a>
+ page if you'd like to help out.
Q: What pieces will Ximian be working on?
A: We will devote most of our resources to work on the pieces which are
- on the critical path to release a development and execution environment.
-
- The idea is to get Mono to a state of that would allow
- third parties to actually be able to use it real-world development.
+ on the critical path to release a development and execution
+ environment. Once the project is at a stage where it is useful in
+ the real world, it will achieve a critical mass of developers to
+ improve it further.
-** Relationship with GNOME
+<a name="gnome"></a> ** Mono and GNOME
-Q: How is this related to GNOME?
+Q: How is Mono related to GNOME?
A: In a number of ways. This project was born out of the need of
providing improved tools for the GNOME community, and will use
@@ -160,15 +176,43 @@ A: Yes, we will provide a set of classes for implementing and using
Bonobo components more easily, just like .NET on Windows allows you
to export .NET components to COM.
-** Mono and Microsoft: .NET, Hailstorm, and Passport
+<a name="msft"></a>
+** Mono and Microsoft
+
+Q: Is Microsoft helping Ximian with this project?
+
+A: No. Ximian CTO Miguel de Icaza had a friendly conversation with
+ Microsoft software architect David Stutz, but that's about the
+ extent of the contact. Microsoft is interested in other
+ implementations of .NET and are willing to help make the ECMA spec
+ more accurate for this purpose.
+
+ Ximian representatives have also spoken with Sam Ruby at the ECMA
+ TG3 committee to discuss the same issues.
+
+Q: Is Microsoft or Corel paying Ximian to do this?
+
+A: No.
+
+Q: Do you fear that Microsoft will change the spec and render Mono
+ useless?
+
+A: No. Microsoft proved with the CLI and the C# language that it was
+ possible to create a powerful foundation for many languages to
+ interoperate. We will always have that.
+
+ Even if changes happened in the platform which were undocumented,
+ the existing platform would a value on its own.
+
+Q: Are you writing Mono from the ECMA specs?
+
+A: Yes, we are writing them from the ECMA specs and the published
+ materials in print about .NET.
-Q: If applications use Mono, does that mean that I have to pay a service fee?
+Q: If my applications use Mono, will I have to pay a service fee?
A: No. Mono is not related to Microsoft's initiative of
- software-as-a-service. It is going to provide an open source,
- Linux-based version of the Microsoft.NET development platform. Its
- objective is to enable Linux developers to build and deploy cross
- platform .NET Applications.
+ software-as-a-service.
Q: Is the Mono Project is related to the Microsoft Hailstorm effort? Is
Ximian endorsing Hailstorm?
@@ -179,18 +223,12 @@ A: No. The Mono Project is focused on providing a compatible set of
Hailstorm single sign-on system that is part of Windows XP and
other services.
-Q: If you implement .NET, will I depend on Microsoft Passport to run my software?
+Q: Will Mono or .NET applications depend on Microsoft Passport?
A: No. MS Passport is unrelated to running .NET compatible applications
produced with the Mono tools. The only thing you will need is a
just-in-time compiler (JIT).
-Q: Is .NET just a bunch of marketing slogans?
-
-A: Although the `.NET initiative' is still quite nebulous, The .NET Framework
- has been available for some time. Mono is not an implementation of the .NET
- initiative, just the development framework.
-
Q: What is a 100% .NET application?
A: A `100% .NET application' is one that only uses the APIs defined
@@ -212,8 +250,8 @@ A: The Shared Source implementation will be expensive and its uses
Q: Is Mono a free implementation of Passport?
-A: No. Passport is part of Microsoft's Hailstorm initiative. Mono
- is just a runtime, a compiler and a set of class libraries.
+A: No. Mono is just a runtime, a compiler and a set of class
+ libraries.
Q: Will the System.Web.Security.PassportIdentity class mean
that my software will depend on Passport?
@@ -224,33 +262,10 @@ A: No. Applications may use that API to contact a Passport site, but
As long as your application does not use Passport, you will not
need Passport.
- It might even be possible to implement that class with
- a set of dummy functions, or use an alternate Passport implementation.
-
- We do not know at this time whether the Passport protocol is
- documented and whether we will be able to talk to
- passport.com
-
Q: Will Mono running on Linux make Passport available for Linux?
-A: No. However, the Passport toolkit for Linux-based web servers is available from
- Microsoft.
-
-
-** Mono and Portable.NET
-
-Q: What are the differences between Mono and Portable.NET?
-
-A: Most of Mono is being written using C#, the only pieces written in
- C are those who have to absolutely be built using C (The JIT
- engine, the runtime, the interfaces to the garbage collection
- system).
-
- The C# compiler and the tools will become reusable C# components.
-
- Portable.NET is building its components out of C pieces.
-
-** Mono and Windows
+A: No. However, the Passport toolkit for Linux-based web servers is
+ available from Microsoft.
Q: Will Mono allow me to run Microsoft Office on Linux?
@@ -258,6 +273,17 @@ A: No, it will not. Microsoft Office is a Windows application. To
learn more about running Windows applications on Intel Unix systems
refer to <a href="http://www.winehq.com">the Wine Project</a>.
+<a name="pnpproject"></a>
+** Mono and Portable.NET
+
+Q: What are the differences between Mono and Portable.NET?
+
+A: Most of Mono is being written using C#, with only
+ a few parts written in C (The JIT engine, the runtime, the
+ interfaces to the garbage collection system). The Portable.NET
+ Project is using C for development.
+
+<a name="webservices"></a>
** Web Services
Q: Is Mono just a new way of writing Web Services?
@@ -294,6 +320,7 @@ Q: Can I serialize my objects to other things other than XML?
A: Yes, although the serializing tools have not yet been planned, and
you would probably have to implement them yourself.
+<a name="devel"></a>
** Development Tools and Issues
Q: Will it be possible to use the CLI features without using bytecodes
@@ -331,7 +358,7 @@ A: The CIL is better suited to be JITed than JVM byte codes, but you
can interpret them as trivially as you can interpret JVM byte
codes.
-
+<a name="java">
** Mono and Java
Q: Why don't you use Java? After all, there are many languages that
@@ -359,6 +386,7 @@ A: Yes, Java could target the CLI. We have details on a <a
href="ideas.html#guavac">project</a> that someone could take on to
make this happen.
+<a name="extending"></a>
** Extending Mono
Q: Would you allow other classes other than those in the
@@ -377,7 +405,8 @@ A: Yes. The Microsoft class collection is very big, but it is by no
For more information on extending Mono, see our <a
href="ideas.html">ideas</a> page.
-** Mono and portability
+<a name="portability"></a>
+** Portability
Q: Will Mono only work on Linux?
@@ -406,7 +435,8 @@ A: It will depend only if you are using a particular assembly (for
in Mono for implementing a `Hello World Enterprise P2P Web
Service', you will not need any GNOME components.
-** Reusing existing Code
+<a name="reuse"></a>
+** Reusing Existing Code
Q: What projects will you reuse or build upon?
@@ -416,9 +446,9 @@ A: We want to get Mono in the hands of programmers soon. We are
Q: What about Intel's research JIT framework, ORP?
A: At this time, we are investigating whether we can use elements of
- ORP for Mono. ORP is a research JIT engine that has a clear
+ ORP for Mono. ORP is a research JIT engine that has a clearly
defined API that splits the JIT from the GC system and the actual
- byte code implementation. It is a research product.
+ byte code implementation.
Q: What about using GNU Lightning?
@@ -426,93 +456,16 @@ A: We are also researching <a
href="http://www.gnu.org/software/lightning/lightning.html">GNU
Lightning</a>.
-** Ximian and Microsoft
-
-Q: Is Microsoft helping Ximian with this project?
-
-A: Not exactly. Ximian CTO Miguel de Icaza had a friendly
- conversation with Microsoft software architect David Stutz, but
- that's about the extent of the contact.
- Microsoft is interested in other implementations of .NET and are
- willing to help make the ECMA spec more accurate for this purpose.
-
- Ximian representatives have also spoken with Sam Ruby at the ECMA
- TG3 committee to discuss the same issues.
-
-Q: Is Microsoft paying Ximian to do this?
-
-A: No.
-
-Q: Do you fear that Microsoft will change the spec and render Mono
- useless?
-
-A: No. Microsoft proved with the CLI and the C# language that it was
- possible to create a powerful foundation for many languages to
- interoperate. We will always have that.
-
- Even if changes happened in the platform which were undocumented,
- the existing platform would a value on its own.
-
- The benefits that you can get from the CLI are going to be
- there with or without `embracing and extending'. We might not be
- able to run every .NET Windows application on Mono, but then again,
- it was already easy for someone to just use PInvoke to tie their
- application to Windows.
-
-Q: Are Microsoft and Corel involved in the Mono implementation?
-
-A: No, they are not.
-
-Q: Are you writing Mono from the ECMA specs?
-
-A: Yes, we are writing them from the ECMA specs and the published
- materials in print about .NET.
-
-** Acronyms
-
-Q: What is the difference between CLR (Common Language Runtime) and
- CLI (Common Language Infrastructure)?
-
-A: CLI is the specification of an execution system. The Microsoft
- implementation of this specification is named CLR.
-
- Unless we come up with our own acronym, we could just call ours
- also CLR, just because it would do exactly the same thing the
- Microsoft implementation does.
-
-<a name="gcc">
+<a name="gcc"></a>
** Mono and GCC
-Q: Are you working on a GCC front-end to C#?
-
-A: We are seeking volunteers for this task. Visit the <a
- href="contributing.html">contributing</a> section if
- you'd like to work on this task.
+Q: Are you working on a GCC front-end to C#? A GCC backend that will
+ generate CIL images? What about making a front-end to GCC that
+ takes CIL images and generates native code?
-Q: How about a GCC backend that will generate CIL images?
-
-A: That would be great: it could provide a ton of free compilers that
- would generate CIL code. This is something that people would want
- to look into anyway for Windows interoperation in the future.
-
+A: We are currently seeking volunteers for those projects.
Visit the <a href="contributing.html">contributing</a> section if
- you'd like to work on this task.
-
-Q: What about making a front-end to GCC that takes CIL images and
- generates native code?
-
-A: I would love to see this, specially since GCC supports this same
- feature for Java Byte Codes. You could use the metadata library
- from Mono to read the byte codes (ie, this would be your
- "front-end") and generate the trees that get passed to the
- optimizer.
-
- Ideally our implementation of the CLI will be available as a shared
- library that could be linked with your application as its runtime
- support.
-
- Visit the <a href="contributing.html">contributing</a> section if
- you'd like to work on this task.
+ you are interested.
Q: But would this work around the GPL in the GCC compiler and allow
people to work on non-free front-ends?
@@ -522,9 +475,11 @@ A: People can already do this by targeting the JVM byte codes (there
Q: Why are you writing a JIT engine instead of a front-end to GCC?
-A: The JIT engine and runtime engine will be able to execute CIL
- executables generated on Windows.
+A: We want the JIT engine and runtime engine because they will be able
+ to execute CIL executables generated on Windows, and so no recompilation
+ will be necessary.
+<a name="performance"></a>
** Performance
Q: How fast will Mono be?
@@ -543,14 +498,14 @@ A: We can not predict the future, but a conservative estimate is that
restrictions on how you can emit CIL code that simplify creating
better JIT engines.
- For example, on the CIL the stack is not really an abstraction
- available for the code generator to use at will: it is just a way
- of creating a postfix representation of the parsed tree. At any
- given call point or return point, the contents of the stack are
+ For example, on the CIL, the stack is not really an abstraction
+ available for the code generator to use at will. Rather, it is a
+ way of creating a postfix representation of the parsed tree. At
+ any given call point or return point, the contents of the stack are
expected to contain the same object types independently of how the
- instructions was reached.
-
+ instruction was reached.
+<a name="licensing"></a>
** Licensing
Q: Will I be able to write proprietary applications that run with
@@ -581,10 +536,9 @@ A: The C# Compiler is released under the terms of the GPL. The class
Q: Can I subclass objects within the LGPL licensed Mono code and still release
the resulting software under a closed license?
-A: Yes. Object Oriented Programming in the class library is a well
- understood interface barrier, and subclassing does not "count" as a
- modification, so you may develop proprietary applications with the
- Mono libraries.
+A: Yes. Subclassing does not "count" as a modification to GPL'ed code.
+ This means that you may use subclasses when developing proprietary
+ code with Mono.
Q: I would like to contribute code to Mono under a particular
license. What licenses will you accept?
@@ -595,7 +549,8 @@ A: We will have to evaluate the licenses for compatibility first,
license, make sure you use the BSD license without the
advertisement clause (The `Ousterhout License').
-** Assorted questions
+<a name="etc"></a>
+** Miscellaneous Questions
Q: You say that the CLI allows multiple languages to execute on the
same environment. Isn't this the purpose of CORBA?