your opinion on OpenSource Mac OS

Discussion in 'Community Discussion' started by Lollypop, Jun 21, 2006.

  1. Lollypop macrumors 6502a


    Sep 13, 2004
    Johannesburg, South Africa
    I found this links this morning and found some of the issues raised rather though provoking.

    Some of the linked articles/blogs argued that Apple should open source more of their applications, Safari and iCal seemed to be the popular ones mentioned, the idea was for the more advanced users to be able to fix and tweak the applications to their own desire, the counter argument was that Apple is a company that uses the integrated apps such as iCal and Safari to sell the Mac OS and help create a healthy eco systems for the entire mac platform. I agree with both sides, yes apple is a profit company, but open source can help some of the "lesser" apps to achieve their true potential.

    One of the articles mentioned certain open components such as the webkit, that lead me to the idea that apple might want to open up more of their kits, or create more open kits, iChat was discuss in the articles, why not create a chatkit (bad name i know) that can allow the OSS community to make the foundation of iChat what they want it to be, Apple will just give it the front-end and integration we have come to expect.

    So here is the actual question, do you think open source has contributed to the Mac OS, should apple continue using open source, would you decrease or increase the level of open source, and what would you like to see open sourced?
  2. Queso Suspended

    Mar 4, 2006
    I'd like them to open source the entire MacOS classic and the classic environment for OSX. I have a feeling it's not going to be included in OSX versions for much longer, so why not?
  3. mkrishnan Moderator emeritus


    Jan 9, 2004
    Grand Rapids, MI, USA
    I think the answer to this has to be a resounding yes. The webserver in OS X is Apache. Webkit has strong ties back to open source. Etc. So I think there's a lot there even beyond what Darwin inherited from FreeBSD. I think it's a good thing for OS X -- for instance, in the case of Apache, OS X has one of the most popular webservers built-in and pre-configured. Nice.

    I think that more availability of source-code is a mixed road... I think it's good. But I think that the most important aspect is that developers have access, as part of their corpus of development tools, to the information they need to create plug-ins and extensions to the major OS X apps. I don't think this necessarily needs to be done through licensing source to them. For instance, I think in some ways having a robust plug-in architecture is better, because you avoid people writing hacks that get easily and continually broken by updates, or worse, cause unpredictable system behavior. But I think*extension of the major Apple apps is very important.
  4. RacerX macrumors 65832

    Aug 2, 2004
    The thing is not everything can be open sourced... for example, Apple doesn't even own all the elements of the original (classic) Mac OS so they don't have the right to make all that source open. Same with NEXTSTEP/OPENSTEP/Rhapsody. The foundations of Rhapsody had to be scrubbed of licensed elements before being released as Darwin, and even then it wasn't that usable early on. And in the case of A/UX, that is still restricted by a System V (release 2.2) license.

    As for the current set of bundled apps, let Apple have it's own apps in piece. Long before iChat there was Fire (originally for both OPENSTEP and Rhapsody) which the original developer (who is now at Apple) gave to the open source community.

    Either you want the advances Apple includes with each new release or you want community code that hasn't been improving very fast... Apple open sourcing iChat is a good way to slow down Apple's effort on it as it will no longer be something that benefits Apple.

    If open source was the best way to move apps like these forward, then everyone would be using Fire right now. It has been around longer and has been open source since long before iChat existed.

    If development of iChat is an example of closed source and Fire an example of open source... then I hope Apple keeps everything closed source.
  5. Lollypop thread starter macrumors 6502a


    Sep 13, 2004
    Johannesburg, South Africa
    In all fairness to Fire, it isnt bundeled with the OS, most people dont really go to look for a third party app until they run into a limitation of iChat.

    So why doesnt apple create a better plugin architecture for its applcations? Open source does have its limits, but if you look at apache, thats an example of open source done right. The webkit is another example. Sure apple cant open source some of its stuff, but why not when creating new things have a opensource component, such as the plugin architecture maybe?
  6. RacerX macrumors 65832

    Aug 2, 2004
    If iChat is Cocoa, then it has just such a system built into it. The fact that third party developers aren't stepping up to learn how to use it isn't Apple's fault.

    As I recall, someone brought up the fact that tabs can be added to iChat (an app I don't personally use) via an input manager. They called it a hack, but input managers are part of Mac OS X's services structure.

    If you aren't aware of the types of things that can be done to a Cocoa app without modifying it's source code, then you should take a look at my page on TextEdit.

    Further, I recently put together a presentation on services in Mac OS X which covered the following...
    Philosophy of Services
    Services date all the way back to the very first version of NEXTSTEP. The idea was that no app should have to stand alone and some basic functions shouldn't need to be duplicated in a number of apps.

    What was originally envisioned was that one developer who was very good at one set of features would make an application. Then other developers who were good at other features would make other applications or services that would be shared with the first application. The user could then pick and choose what features they needed and put together the software on their system.

    Additionally, features that are needed in a number of applications (like spell checking) would be made part of the operating system and shared with all apps that needed those features. This meant that developers wouldn't need to reinvent the wheel to have these features as part of their application.

    I've written about services in NEXTSTEP/OPENSTEP (here) and some of the resources NeXT bundled with NEXTSTEP/OPENSTEP (here).

    These are some of the services I use in Mac OS X on my systems and a quick discription of what services they provide.
    DEVON Technologies Services
    • AntiWordService- MS Word to plain text utility
    • BlueService- send text to BlueTooth devices
    • CalcService- provides simple calculations within the body of text
      PDF2RTFService- PDF to Rich Text utility
    • WordService- 34 common word processing features including: Reformat, Remove line attachments/endings/links/multiple spaces/multiple feeds/quotes, Trim line beginnings/line endings/lines, Sort lines ascending/descending, Shift left/right, Initial caps of words/sentences, All caps & lowercase, Mac/Windows/Unix line endings, Rotate 13, Straight/Smart Quotes, Encode/Decode tabs, Insert date/date & time/time/contents of path, Speak native/German text, Statistics
    DEVON Technologies Application
    • EasyFind- system find service
    MacJournal- personal journal and data management app
    Nisus Thesaurus- a browsable thesaurus, includes definitions
    OmniDictionary- app for accessing online dictionary services (like
    RBrowser- FTP Client
    Stone Design Create- web design, page layout and illustration app, provides RTF to HTML and text to image
    WebGrabber- downloads a site while keeping its directory structure
    Input Managers
    These are services that actually modify the standard menu items for Cocoa applications. So rather than hunting through the "Services" menu for these, these are placed in the menu system about where you would expect to find such a feature.
    DEVON Tech HotService- moves the "Services" menu to main menus
    ICeCoffEE- adds "Services" menu to contextual menu
    Stone Design FontSight- add WYSIWYG font menu
    TextExtras- adds a number of features via menus and palettes including text attributes palette, properties indents and line ending conversion
    System Services
    These are services provided by the system itself to all Cocoa applications (and in some cases, Carbon applications too).
    Spell Checking- This is a system wide spell checking feature available to any Cocoa app that allows you to type in text. It includes a check as you type feature and a customizable dictionary. Once a word has been added to the dictionary in one application it becomes available to all other applications that use this service. It also provide spell checking correction via a contextual menu.

    Text Services- Originally designed to provide fonts and Rich Text formatting, Apple added a ton of additional features in 10.3 like single/double underline and single/double strike with choice of line color, background color (can be used for highlighting) and drop shadows (with multiple controls). There is a very nice write up on these features here. Font management was also expanded with the inclusion of Font Book in 10.3.

    Color Services- The colors panel has changed very little since it was first added in NEXTSTEP 3.0. Designed by Keith Ohlfs this is still the most advanced color tool ever supplied with an operating system.

    The main user interface is the color selector (the magnifying glass icon) and color well at the top and the swatch space at the bottom for saving colors. Some key elements include: color wheel with brightness control and opacity, color sliders (which include RGB, CMYK, HSB and grayscale), spectrum/image selector (drag-n-drop addition of images to be used as color sets) and basic colors.

    Additionally, more color abilities can be added to the colors panel by third parties. A great example of this is HexColorPicker which gives you the ability to find the HEX values for any color you pick or input a HEX value to find out what color it actually is. Another is Painter's Picker which is designed to help select complimentary colors.

    You can find a nice writeup on the colors panel in Mac OS X here

    Print/PDF Services- Back with NEXTSTEP/OPENSTEP/Rhapsody print services used the built in Display Postscript to both render images on the screen and prepare documents for output to printers. When Apple replaced Display Postscript with Display PDF in Mac OS X, PDF became the default format for the operating system.

    It is via this service that any application running in Mac OS X can save a document to PDF... but other options can also be added via third party software.

    For example PStill can let you repurpose a document from the print dialog. PStill will distill a PDF using what ever setting you have left in PStill (allowing for small files while controlling the quality of the output). Similarly, CocoaBooklet lets you create PDFs that are designed to be made into booklets directly from the print dialog.

    Find Services- The find panel in most Cocoa apps is actually a system wide service much like spellchecking.

    This has been here since before there was Mac OS X... in fact it was there before there was Linux! Services was one of the foundational technologies of NEXTSTEP.

    This is already part of the system, and if someone is good enough to play with the source code of iChat, then they really should be good enough to implement what they want as a service for iChat.

    But in all fairness, if you are the type of person who only uses the bundled apps with Mac OS X... you most likely aren't at the level of being able to use the source anyways.

    And much more to the point...those people would never see any of the stuff made with the iChat source code any more than they currently see Fire. If they won't look for a third party app when confronted with limitations in iChat, then they won't see a third party build of iChat with modifications to it.

Share This Page