diff options
author | Aaron Weber <aaron@mono-cvs.ximian.com> | 2001-12-21 20:18:49 +0300 |
---|---|---|
committer | Aaron Weber <aaron@mono-cvs.ximian.com> | 2001-12-21 20:18:49 +0300 |
commit | 2f41a875fec76a4f1fff1b14dbb4f339ef92bc2c (patch) | |
tree | f7068895592b5a30e204c2f7280dc07a1d1539fe /doc/faq | |
parent | 3672a69604217ee4c210d05a04843baed52adc75 (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/faq | 311 |
1 files changed, 133 insertions, 178 deletions
@@ -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? |