No-Mono-by-Default

Differences between revisions 12 and 13
Revision 12 as of 2007-12-18 18:38:34
Size: 8358
Editor: c-24-0-106-77
Comment: response to RobertKnight
Revision 13 as of 2007-12-20 07:51:06
Size: 9355
Editor: host86-144-43-192
Comment:
Deletions are marked like this. Additions are marked like this.
Line 126: Line 126:
    * Whether or not including Mono+F-Spot+Tomboy makes sense depends on whether something more useful to a general audience could be included on the CD if they were taken out. I'm not going to answer that. As for measuring memory usage, I took another look at gnome-system-monitor and it is more sophisticated than I thought. The "Memory" figure is actually quite a fair assessment, but it still doesn't tell you very much. If you enable the "Resident Memory", "Writeable Memory" and "Shared Memory" columns, those three figures provide much more useful information. If you right-click on the process and click "Memory Maps" you get a pretty detailed picture. This blog post (which happens to agree about F-Spot using too much memory) from last year gives an idea of what I mean: http://www.aigarius.com/blog/2006/07/31/spot-focus/ . It is worth noting that Mono has had a year's worth of development since then, and the latest release (1.2.6) is supposed to improve memory usage somewhat.

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

Remove Mono and dependent applications from default Ubuntu Desktop CD, because Mono by default is a bad strategic decision for Ubuntu.

This will NOT remove Mono or any of the applications from the Ubuntu repositories, just the default Desktop CD. (Although removing them from the CD may mean they don't need to be in Main anymore)

Release Note

F-Spot and Tomboy Notes will not be on the default Ubuntu Desktop CD.

Users who currently have either installed will not have them removed.

Rationale

Ethical Reasoning

Possible Patent issues

Which most likely are just FUD. However is it worth the risk/reward in this case?

http://en.wikipedia.org/wiki/Mono_Project#Mono_and_Microsoft.E2.80.99s_patents

Beneficial To Competitor

  • Mono is implemented to be compatible with Microsoft's .NET instead of the standard.
  • Mono's compatibility requirement with .NET create a bad dependency on a competitor.
  • Providing Mono on the Default Ubuntu Desktop CD helps Mono become more popular as more people will use it by default.
  • By writing Free applications in Mono/.NET you put yourself at risk from Microsoft changing the .NET implementation creating more work for both Mono developers and application developers.

To Not Allow

"the era of 'open computing,' the free exchange of digital information that has defined the personal computer industry," to end.

Only getting binary codecs from Microsoft for Moonlight

Technical Reasoning

A lot of the functionality provided by Tomboy Notes and F-Spot are already included on the default CD by Sticky Notes and gThumb. Both Mono based applications use more than 4X the memory of their non-Mono equivalent.

F-Spot vs gThumb

Memory Usage* with the example content loaded

  • F-Spot: 20.0 Mb
  • gThumb: 4.9 Mb

Feature comparison
  • Both can do basic photo editing
  • Both have Metadata for photos
    • F-Spot was able to pick the metadata and present it faster, also tagging appears more prevalent in interface
    • gThumb can do categories, and view metadata, as well as comments
  • Both can import photos
  • Both can have a "Library" of your photos
    • gThumb gives you more control
    • F-Spot makes it more user friendly
  • F-Spot has a neat way to view photos by year
  • F-Spot has an easy slider to change the size of the collection of photos you are looking at
  • gThumb can handle Movies! It calls Totem to play them.

Overall, these applications are very much similar and including both of them does not make much sense. Having both could make some users confused as their functionality is so similar. I think the handling of movies by gThumb makes gThumb the winner in features. Most people who have a digital camera are going to eventually try the take a movie feature in it. Being able to easily import that into Ubuntu is very important for them.

TomBoy Notes vs Sticky Notes

Memory Usage* with no notes loaded

  • Tomboy: 19.2 Mb
  • Sticky: 4.4 Mb

Feature Comparison
  • Both allow you to take notes, hide them from view
  • Tomboy has notes appear as full windows
  • Sticky Notes appears as quasi-windows
  • Tomboy has note synchronization
  • Tomboy has export to HTML
  • Tomboy has Wiki-like linking in notes
  • Tomboy can do rich text formatting.

There is clearly some functionality missing from sticky notes that tomboy has. However Sticky Notes is designed to just be a simple note taking applet. Sticky Notes will NOT replace Tomboy for power users, who can always just install it later.

Assumptions

Mono/.NET being successful will not benefit free software.

Implementation

Remove dependencies from Ubuntu desktop package.

Migration

No migration needed, old installs will still be upgraded. Mono just won't be on the CD. Revert note taking app to already included Sticky Notes applet

It is important to note that people who already have Mono installed won't be affected. Even when they upgrade to the latest release; Mono, Tomboy, and F-Spot will still be upgraded with it.

Test/Demo Plan

Test to make sure removing Mono does not break other things in Gnome.

Notes

*Memory usage was tested using gnome-system-monitor which appears to have varied a good deal from one test to another, although I did change the pictures being used and notes. However, I still think it is valid enough to indicate that Mono based applications use more memory than their counterparts.

Comments

[http://ubuntuforums.org/showthread.php?t=634805]

PaulKishimoto: (Comments here because the forum thread is more ideological than practical) It may not be main-ready, but [http://www.conduit-project.org Conduit] could replicate Tomboy's synchronization and HTML export for Sticky Notes. SyncIntegration is a relevant UDS discussion linked from the Conduit homepage. Wikilinks in Sticky Notes and making gThumb as user-friendly as F-Spot would probably need upstream work; also note that Tomboy has some text formatting options while Sticky Notes AFAIK has none.

RobertKnight: (Note: I do not work on tomboy, mono or gnome, nor do I work for an affiliated company, but I am adding my two cents as a programmer and also as a user of the applications being discussed).

The arguments given in the 'Technical Reasons' section are lacking in good evidence. The memory figures are meaningless because there is no information about how the benchmarks were performed, exactly what the test data was and what the stated figure actually means - is it private, shared, rss, vmsize or something else? Despite what the basic system monitor tools that ship with gnome might tell you, there is no single figure that can be called "the memory usage" of a particular process. In other words, the figures given might as well be lottery numbers. I don't dispute the basic argument that a Mono application will use more memory than an identical application written in C/C++ but the question is whether that increased memory usage is an acceptable trade-off given the advantages that Mono provides to developers (whole categories of programming errors eliminated, potentially much cleaner code, less code) and indirectly to users (better applications arising from the benefits to developers).

Secondly, I strongly disagree that Sticky Notes could replace tomboy as a similarly useful application unless there were major changes in its functionality. Sticky Notes just provides pieces of plain text which can have names attached to them. Tomboy is a miniature hypertext system (in other words, it has the concept of links), which makes it an order of magnitude more useful. Not to mention that it does search, rich formatting, printing, HTML export, syncing and possibly many other things depending on the installed plugins. Some of these advanced features may not be useful to Ubuntu's target audience, but I would argue that the linking, search and rich text functionality certainly is.

In tomboy's case, the comments about Mono and "compatibility requirement with .NET create a bad dependency on a competitor" do not really apply. Tomboy uses only the basic system libraries (which provide collections, io, text manipulation, xml). The user interface is written using Mono's GTK bindings. GTK is obviously not part of .NET.

  • Is there a better way to measure memory usage? Sticky notes cannot replace Tomboy with those functional requirements however I don't feel that including Mono just for those extra features in Tomboy makes much sense. Both F-Spot and Tomboy have the 39.7 Mb dependency on Mono. Are you saying that Tomboy should have less, or does your argument apply to F-Spot as well?
    • Whether or not including Mono+F-Spot+Tomboy makes sense depends on whether something more useful to a general audience could be included on the CD if they were taken out. I'm not going to answer that. As for measuring memory usage, I took another look at gnome-system-monitor and it is more sophisticated than I thought. The "Memory" figure is actually quite a fair assessment, but it still doesn't tell you very much. If you enable the "Resident Memory", "Writeable Memory" and "Shared Memory" columns, those three figures provide much more useful information. If you right-click on the process and click "Memory Maps" you get a pretty detailed picture. This blog post (which happens to agree about F-Spot using too much memory) from last year gives an idea of what I mean: http://www.aigarius.com/blog/2006/07/31/spot-focus/ . It is worth noting that Mono has had a year's worth of development since then, and the latest release (1.2.6) is supposed to improve memory usage somewhat.


CategorySpec

No-Mono-by-Default (last edited 2008-10-29 17:40:45 by c-24-0-106-77)