Mac Mini Good For Developers??

Posted:
in Current Mac Hardware edited January 2014
Would the Mac Mini be a decent system for a developer? I'm a C++ Windows programmer looking for something different in terms of OS. I wanted to do Linux, but the stupid OSS stuff and the GPL license do not embrace the utter simplicity of distributing binary executables (my preferred method of distrubtion).

Comments

  • Reply 1 of 11
    kickahakickaha Posts: 8,760member
    Heck yes.



    FWIW, I'm a CS researcher at UNC with several years of industry experience (military flight simulators, sonar simulations, etc), and OS X is hands down my preferred dev platform. I can crank out GUI apps in no time at all that have an amazing amount of power and polish, and also drop to the command line to work in raw code anytime I like. Best of breed in both worlds in my opinion.
  • Reply 2 of 11
    Quote:

    Originally posted by jsimmons

    I wanted to do Linux, but the stupid OSS stuff and the GPL license do not embrace the utter simplicity of distributing binary executables (my preferred method of distrubtion).



    I don't know if this is deliberate FUD or if you are just mis-informed, but I'll assume the later.



    There is nothing in the GPL license for Linux or GCC that prevents you from writing software on Linux and distributing it as binary only. You can sell it, charge a million dollars for it, etc.



    If you are the author of your software, you can do whatever you want with it, including sell it. Just as Apple can use the GNU Compiler (using the same license (the GPL as on Linux) to create Mac OS X, you can write software using Linux that is not Open Source.



    Now, here's where I think the confusion is: If you want to use *someone else's code*, that you did not create, you can only use it with their permission because copyright law gives them the exclusive right to control their work. For open source software, that permission is granted if you agree to use the GPL as a license. However, if you do not use someone else's work as part of your work, then you do not have to ask them permission.



    It's exactly the same as if you wanted to use someone else's music in your album, you'd have to get their permission. They may or may not grant it and they may grant it under various terms included allowing them to use your work or you paying them money.



    To use an analogy to software, imagine saying "I wanted to do Mac OS X bu tthe stupid refusal of Apple to let my use the code from iDVD in my project do not embrace the utter simplicity..." You would think it pretty unreasonable of someone to think that Apple should just give you the right to use parts of iDVD without some compensation, if they would allow it at all right?



    So, to sum up:

    Create your own work: You can do anything you like with it, including sell binary only copies.



    Use someone else's work: You have to ask their permission because they have the copyright to their work and you cannot use someone else's work without permission.
  • Reply 3 of 11
    buonrottobuonrotto Posts: 6,368member
    To the general topic at hand, see Wil Shipley's comments to Bob Cringley about the mini:





    http://www.pbs.org/cringely/pulpit/pulpit20050127.html



    Quote:

    I bought two Mac minis this week -- both will be servers. One is going to run my company's store. Our new product is a runaway success -- we've sold $350,000 worth of software in the first two months. I say this not to brag, but to make a point. The store is running on an old G4 cube. The cube isn't under any kind of load at all. It processes one sale every five minutes or so. There's absolutely no need for more store sites to run on a G5. If you're processing a transaction every second, sure, get a G5. But if you are, chances are good you're a multi-multi-million dollar business, and you don't care what an Xserve costs."





    "The second box is going to be our source-code server. It's safe as heck, because OS X includes one-click firewalls. And, again, it's not like I have so many engineers that we're checking in code every second. If it processes a transaction every ten minutes, I'll consider our company very productive. For us little guys, the Mac mini is the absolute perfect server. I'm hooking up two identical external drives to each Mac mini (total of four), each two set up as a RAID 1. (Each drive is slightly bigger than the mini.) The chances of losing data via disk failure are astronomically low this way. And if a motherboard crashes, I can swap in the other box -- I have a $500 hot-backup OF THE WHOLE MACHINE. I have a complete server 'closet' that fits in less than a cubic foot. It's quiet. It's got a redundant RAID built-in. It's easy to administer and set up. I share a monitor and keyboard with my main workstation, so I don't have any extra clutter. Look out, Linux."



    The answer seems to be an emphatic "yes" from a few points of view.
  • Reply 4 of 11
    placeboplacebo Posts: 5,767member
    Quote:

    Originally posted by BuonRotto

    To the general topic at hand, see Wil Shipley's comments to Bob Cringley about the mini:





    http://www.pbs.org/cringely/pulpit/pulpit20050127.html







    The answer seems to be an emphatic "yes" from a few points of view.




    That was a horrible metaphor right off the bat.
  • Reply 5 of 11
    dfilerdfiler Posts: 3,420member
    Quote:

    Originally posted by jsimmons

    Would the Mac Mini be a decent system for a developer? I'm a C++ Windows programmer looking for something different in terms of OS.



    Yes, it should be perfect. Ironically, most developers don't need super fast hardware. Text editing isn't that processor intensive and xcode seems to handle compiling quite nicely.



    I think perhaps the mini is best suited to web development. Now, web developers can easily and cheaply test their pages on a mac.
  • Reply 6 of 11
    hirohiro Posts: 2,663member
    Quote:

    Originally posted by melevittfl

    I don't know if this is deliberate FUD or if you are just mis-informed, but I'll assume the later.



    There is nothing in the GPL license for Linux or GCC that prevents you from writing software on Linux and distributing it as binary only. You can sell it, charge a million dollars for it, etc.



    If you are the author of your software, you can do whatever you want with it, including sell it. Just as Apple can use the GNU Compiler (using the same license (the GPL as on Linux) to create Mac OS X, you can write software using Linux that is not Open Source.



    Now, here's where I think the confusion is: If you want to use *someone else's code*, that you did not create, you can only use it with their permission because copyright law gives them the exclusive right to control their work. For open source software, that permission is granted if you agree to use the GPL as a license. However, if you do not use someone else's work as part of your work, then you do not have to ask them permission.



    It's exactly the same as if you wanted to use someone else's music in your album, you'd have to get their permission. They may or may not grant it and they may grant it under various terms included allowing them to use your work or you paying them money.



    To use an analogy to software, imagine saying "I wanted to do Mac OS X bu tthe stupid refusal of Apple to let my use the code from iDVD in my project do not embrace the utter simplicity..." You would think it pretty unreasonable of someone to think that Apple should just give you the right to use parts of iDVD without some compensation, if they would allow it at all right?



    So, to sum up:

    Create your own work: You can do anything you like with it, including sell binary only copies.



    Use someone else's work: You have to ask their permission because they have the copyright to their work and you cannot use someone else's work without permission.




    Semi OT: GNU's licence explicitly considers linking against libraries a derivative work of the linked library and therfore requires distribution of ALL source--even the stuff you wrote along with a copy of the GNU licence. Writing for Linux boxes you into that world and all is fine unless you get successful. Then woe be to you for not publishing all your hard work in the open where anyone else can download and compile it themselves without having to pay you--legally. Why do you think Apple built on top of Mach/BSD not Linux? The licences!



    How far can you go without linking against a GNU licenced library in Linux? To go to the extremes that lawyers have been hashing out: You possibly can't even do "Hello World" cleanly if you use GCC because you link against GNU's version of <stdio.h>. Don't get me wrong, I like the idea of open source, but the GNU licence is more akin to forced communism than open altruism.
  • Reply 7 of 11
    kickahakickaha Posts: 8,760member
    Quote:

    Originally posted by Hiro

    Semi OT: GNU's licence explicitly considers linking against libraries a derivative work of the linked library and therfore requires distribution of ALL source--even the stuff you wrote along with a copy of the GNU licence. Writing for Linux boxes you into that world and all is fine unless you get successful. Then woe be to you for not publishing all your hard work in the open where anyone else can download and compile it themselves without having to pay you--legally. Why do you think Apple built on top of Mach/BSD not Linux? The licences!



    How far can you go without linking against a GNU licenced library in Linux? To go to the extremes that lawyers have been hashing out: You possibly can't even do "Hello World" cleanly if you use GCC because you link against GNU's version of <stdio.h>. Don't get me wrong, I like the idea of open source, but the GNU licence is more akin to forced communism than open altruism.




    *cough* LGPL *cough*



    Library GPL is explicitly for this situation. Much 'GPL' code is actually LGPL.
  • Reply 8 of 11
    Quote:

    Originally posted by Hiro

    How far can you go without linking against a GNU licenced library in Linux? To go to the extremes that lawyers have been hashing out: You possibly can't even do "Hello World" cleanly if you use GCC because you link against GNU's version of <stdio.h>. Don't get me wrong, I like the idea of open source, but the GNU licence is more akin to forced communism than open altruism.



    This extreme view is simply not supported. Programs compiled by GCC do not fall under the GPL because they were compiled by that compiler. There is an explicit exception for this very case in the GPL. The only current debate is if you have to provide access to the source of the GCC you compiled the code with. Not your code, but that for GCC itself. This could be seen as the a reason why Apple provides GCC as part of the Darwin project (with their modifications which probably are not mandatory to release as they are only linked in), under some lights they may be required to do so.



    I think that in general your last statement is close, but not quite right, The GPL is more like forced/required altruism, but the parallels to (small "c") communism are there. Now, the question: is that a bad thing?
  • Reply 9 of 11
    hirohiro Posts: 2,663member
    Talk to the lawyers, if they think it is a problem, then it's a BIG problem. Doesn't matter what anyone else thinks at that point, potential liability is a deal killer. The whole scary thing is the derivative works definitions and which libraries they may apply to. Using GCC itself isn't a problem, but the default C libraries it uses may be and that is too much risk in a litigious society. LGPL is better but still not enough to keep them happy. They like BSD style licenses. In the lawyerly eyes those are significantly less stringent than even the LGPL.



    To tell the truth I don't like the GPL license personally and am not cozy with LGPL either, but have a difficult time justifying avoiding it in every case for academic work. It's something to be aware of when doing funded research and the grantor doesn't want it spread willy-nilly, let alone patent piranhas in the legal department.
  • Reply 10 of 11
    Quote:

    Originally posted by Hiro

    GNU's licence explicitly considers linking against libraries a derivative work of the linked library and therfore requires distribution of ALL source--even the stuff you wrote along with a copy of the GNU licence.





    No, *copyright law* considers linking against a library a derivitive work because when you link a library into your program, your instructing the linker to copy parts of the library into your program. Since your making a copy, you need permission from the copyright owners and the GPL provides that permission. As others have pointed out the vast majority of libraries on Linux use the LGPL which allows you to use those bits from the library without restriction.



    Quote:

    Originally posted by Hiro Why do you think Apple built on top of Mach/BSD not Linux? The licences!



    Yes, the kernel is BSD licensed, but built with the GPL'd GCC. Other Mac OS X built with software licensed with the GPL or LGPL:

    Fax support (CCE's efax)

    Printer drivers (gimp-print)

    Internationalization support (libiconv)

    Safari (KHTML)

    Python

    diff

    emacs

    grep

    less

    fethmail

    Windows file sharing (Samba)

    etc.



    See http://www.apple.com/opensource/ for a full list of Mac OS X software using or based on GPL or LGPL software.





    Quote:

    Originally posted by Hiro To go to the extremes that lawyers have been hashing out: You possibly can't even do "Hello World" cleanly if you use GCC because you link against GNU's version of <stdio.h>.





    Well, clearly Apple doesn't agree with you, now do they?
  • Reply 11 of 11
    kickahakickaha Posts: 8,760member
    Quote:

    Originally posted by Hiro

    Talk to the lawyers, if they think it is a problem, then it's a BIG problem.



    Well, if you have ignorant and uninformed lawyers, then yes.



    Quote:

    Doesn't matter what anyone else thinks at that point, potential liability is a deal killer. The whole scary thing is the derivative works definitions and which libraries they may apply to. Using GCC itself isn't a problem, but the default C libraries it uses may be and that is too much risk in a litigious society. LGPL is better but still not enough to keep them happy. They like BSD style licenses. In the lawyerly eyes those are significantly less stringent than even the LGPL.



    To tell the truth I don't like the GPL license personally and am not cozy with LGPL either, but have a difficult time justifying avoiding it in every case for academic work. It's something to be aware of when doing funded research and the grantor doesn't want it spread willy-nilly, let alone patent piranhas in the legal department.




    You really need to get a better breed of IP lawyer. I deal with this stuff on a regular basis, and anyone who seriously thinks that linking against gcc's C libraries opens them up to liability either hasn't read the licenses, or doesn't have the legal background to comprehend them.



    You're right though, ignorance is scary.
Sign In or Register to comment.