Announcement

Collapse
No announcement yet.

Matthew Garrett: How-To Drive Developers From OS X To Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by zanny View Post
    They ship a notebook with KDE. Or Enligtenment. Or Elementary. Or XFCE. Or LXDE. Whatever makes people happy, and is intuitive to them. Just because Gnome and Ubuntu are the popular options does not mean they are the only ones, or even the correct ones for widespread adoption.

    And I have a hard time buying that stores with Ubuntu notebooks (assuming this was a recent thing) had a hard time selling them to consumers. The jump from Windows 7 to Unity is a smaller leap than from 7 to 8. It still has a login / out menu, it has a dash that doesn't occupy the whole screen, and the only real big differences are the OSX style top bar and the launcher bar being on the left rather than bottom.

    But like I said, most average joes would get along much better with stock KDE, or XFCE, or LXDE, than new age desktop metaphors like Unity or Gnome. They are the kind of folk who are still on XP and could really use an upgrade, but they still want their window list taskbar, classic start menu, and system tray right where they have been for years prior. Minimize / maximize close buttons in the top right, some window menus, etc. That is what these folk are used to and expect.

    The problem with those three, though, is that none of them are pretty - you can make openbox and KDE drop dead gorgeous with real deep customization (see Chakra, the plasma next themes like Hex, Hex Lite, etc, and Crunchbang). But the average joe isn't going to dig for that. On LXDE / XFCE you get boring beige stock panels and theming, and on KDE you get gaudy gradients and faux shadows on everything that makes it look like cheap plastic.

    But like I said, none of that precludes shipping a distro with non-standard defaults that give some nice eye candy to the desktops. And in most cases they already exist. It just requires someone actually ship it.

    I've always hoped Chakra (the OS) could go somewhere, but in practice the dev team is way too small, in my opinion they are doing the wrong things (combined with the right - the theming and desktop widget are outstanding, but their desire to fork entirely from Arch and pacman, and the fact their stock image comes with a kitchen sink of software most of which few people will ever need turns me off from recommending it, plus it has NO MAC. I wish I knew a thing about writing AppArmor profiles and whatever culture there is in upstream Arch about MAC, because the only major gripe I have with the distro is that the only available option is Tomoyo, and you can't secure anything with it because you have to trust legitimate behavior while you audit your programs with it. Linux with MAC, sane permissions, cgroups, and polkit (plus Wayland eventually, since X is a security black hole) will be a fantastic whole stack secure environment. But I just can't recommend a distro missing critical infrastructure from that stack, even if the Chakra update cycle (Manjaro suffers from updating just too often from upstream Arch, so even if they had enough testers to find all the bugs Arch testing missed, they would never have time to consult with the upstream packagers and get patches in before they regularly push updates) is the best I've ever seen (biannual rolling means time to audit packages but also never have painful upgrade breakage).
    KDE is not any more intuitive than the others and my mother had a great deal of trouble with it. In that instance it was the case that there was just too much stuff and accidentally clicking something lead to "omg how do I turn it off what do I do *click* MY BAR IS GONE FUUUUUUUUUUUU-".

    Comment


    • Really cannot resist this one.
      Originally posted by bridgman View Post
      The point you are missing IMO is that permissive license has *fewer* strings, not *no* strings. If an evil company makes a one-shot product using permissive-licensed open source then they don't have much reason to contribute back, but that is not the norm. The more common scenario is that open source code is extended and mixed in with proprietary code for an ongoing software product, and in that case there is a strong motivation to contribute the extensions back so that future versions of the open source code can be picked up directly rather than having to maintain an offline delta and merge every time you pick up the newer code.
      Hm, if the software is about supporting your hardware on linux, then yes (for which I am very grateful). However, we all know that AMD is providing the CPU and GPU for PS4, and that it is based on FreeBSD. It may of course be me who haven't kept track, but I haven't seen a single line of code contributed to BSD over that. I did see Luke's example of Sony throwing a couple of minor patches over the fence three years ago, where not even the author of the patches wanted to have anything to do with it. I know you have an invested interest in convincing managers that contributing to permissively licensed projects is good, but to compare that way of collaborating with what we see in copy-left projects is a very far stretch. The open projects where I see AMD contribute are all based on the success of GPL projects.
      Originally posted by bridgman View Post
      If the strings are "weaker but sufficient", isn't that enough ?
      Unfortunately they are not sufficient, those strings play into the hands of the gorilla in the room. AMD being an underdog in many settings, I seriously suggest you are careful with the permissively licensed stuff.

      Now I really have to get to work...

      Comment


      • Originally posted by Del_ View Post
        Hm, if the software is about supporting your hardware on linux, then yes (for which I am very grateful). However, we all know that AMD is providing the CPU and GPU for PS4, and that it is based on FreeBSD. It may of course be me who haven't kept track, but I haven't seen a single line of code contributed to BSD over that.
        I don't think we wrote any of the code you're talking about... and you're trying to use the "one shot" (**) scenario I explicitly excluded to disprove the general case.

        ** possibly two-shot in the case of PS3/PS4, not sure, but definitely not a typical "stream of releases" scenario
        Test signature

        Comment


        • Originally posted by bridgman View Post
          I don't think we wrote any of the code you're talking about... and you're trying to use the "one shot" (**) scenario I explicitly excluded to disprove the general case.

          ** possibly two-shot in the case of PS3/PS4, not sure, but definitely not a typical "stream of releases" scenario
          <sarcasm>Yeah but if you would have GPL'd it we would have an open source AMD GPU driver!</sarcasm>

          *rolls eyes*

          What people fail to realize is that they would rather do it in house than release the source for it... so who cares what they use, because that company will never benefit open source.

          Comment


          • Originally posted by jimbohale View Post
            <sarcasm>Yeah but if you would have GPL'd it we would have an open source AMD GPU driver!</sarcasm> ...
            Oh no! Not again the license discussion, please.

            Comment


            • Originally posted by drSeehas View Post
              Oh no! Not again the license discussion, please.
              The license discussion will always continue... but hopefully in another thread... sorry. I respect both the GPL and the BSD licenses, I think they are both useful and depending on the project I would one or the other. I'm a pragmatist. My point was that Sony would have just licensed QNX or something instead, and that licenses aren't a factor in this particular discussion, it's all about practically speaking why some people (read: developers) would prefer to use OS X over Linux, and it's my personal opinion that OS X requires less effort to maintain, as that's why I use OS X over Linux for developing most things.

              Comment


              • Originally posted by jimbohale View Post
                The license discussion will always continue... but hopefully in another thread... sorry. I respect both the GPL and the BSD licenses, I think they are both useful and depending on the project I would one or the other. I'm a pragmatist. My point was that Sony would have just licensed QNX or something instead, and that licenses aren't a factor in this particular discussion, it's all about practically speaking why some people (read: developers) would prefer to use OS X over Linux, and it's my personal opinion that OS X requires less effort to maintain, as that's why I use OS X over Linux for developing most things.
                In my experience, OSX as a Dev platform ends up taking more time to maintain overall. In summary, assuming you buy Linux hardware from the start, the maintenance of the OS is at worst a bit more involved. And that is overshadowed by the development environment maintenance required on OSX. If you can let go of iTunes, I highly recommend you give it a try

                Comment


                • Originally posted by deppman View Post
                  In my experience, OSX as a Dev platform ends up taking more time to maintain overall. In summary, assuming you buy Linux hardware from the start, the maintenance of the OS is at worst a bit more involved. And that is overshadowed by the development environment maintenance required on OSX. If you can let go of iTunes, I highly recommend you give it a try
                  All of my development tools "just work" without a hitch on OS X. I have yet to use iTunes. OS X has taken zero effort on maintenance and has provided all of the development tools I have needed. Does it make it easy to deploy apt or yum repositories? No. Do I care? No. I use virtual machines when I have to. I find it hard to believe you have had any experience with OS X if you think Linux is easier. I don't care that updates are larger, I don't care that its not bleeding edge, and I don't care that I can't modify Finder. It does exactly what I need it to which is have a set of tools (git, GCC/clang, the most common Dev tools, etc) and to be stable. Considering I used Linux for 5 years as my desktop, I would know.

                  Comment


                  • Originally posted by jimbohale View Post
                    All of my development tools "just work" without a hitch on OS X. I have yet to use iTunes. OS X has taken zero effort on maintenance and has provided all of the development tools I have needed. Does it make it easy to deploy apt or yum repositories? No. Do I care? No. I use virtual machines when I have to. I find it hard to believe you have had any experience with OS X if you think Linux is easier. I don't care that updates are larger, I don't care that its not bleeding edge, and I don't care that I can't modify Finder. It does exactly what I need it to which is have a set of tools (git, GCC/clang, the most common Dev tools, etc) and to be stable. Considering I used Linux for 5 years as my desktop, I would know.
                    Since I can't edit I'll address your points 1 by 1

                    1. Lol wut no wtf are you on are mutilated for mutilated sake?? HFS is not bad for one and two the base commands are beyond similar.
                    2. Takes me about 5 minutes because my internet and computer both are not slow. On Linux it takes longer and more frequent and fails 1 out of about 10 times and I have to manually fix it.
                    3. Install ONE thing, homebrew, which I have yet to have an issue with.
                    4. I like the way OS X looks I think workspaces are stupid and its multi monitor has been fine since I've used it. Since I'm not on dialup I don't have to worry about bandwidth and even so good luck screen sharing on Linux. My computer is fast so it doesn't have to try to keep up with the compositing, it just does.
                    5. OpenGL is "more performant" and has more features on Linux, but as a Dev I just don't care. I don't game, the only 3d I care about is desktop compositing which os x does better. If I have a 3d app open the desktop compositing SHOULD NOT lag. It does on Linux, doesn't on OS X. I have a GTX 680. Additionally the generalization you made is remarkably stupid. I have met plenty of people who Dev on even windows who are better with Linux than some people who use Linux as a dev environment.

                    Comment


                    • People who call others stupid should probably learn to write

                      Originally posted by jimbohale View Post
                      Since I can't edit I'll address your points 1 by 1

                      1. Lol wut no wtf are you on are mutilated for mutilated sake?? HFS is not bad for one and two the base commands are beyond similar.
                      2. Takes me about 5 minutes because my internet and computer both are not slow. On Linux it takes longer and more frequent and fails 1 out of about 10 times and I have to manually fix it.
                      3. Install ONE thing, homebrew, which I have yet to have an issue with.
                      4. I like the way OS X looks I think workspaces are stupid and its multi monitor has been fine since I've used it. Since I'm not on dialup I don't have to worry about bandwidth and even so good luck screen sharing on Linux. My computer is fast so it doesn't have to try to keep up with the compositing, it just does.
                      5. OpenGL is "more performant" and has more features on Linux, but as a Dev I just don't care. I don't game, the only 3d I care about is desktop compositing which os x does better. If I have a 3d app open the desktop compositing SHOULD NOT lag. It does on Linux, doesn't on OS X. I have a GTX 680. Additionally the generalization you made is remarkably stupid. I have met plenty of people who Dev on even windows who are better with Linux than some people who use Linux as a dev environment.
                      Why do you exhibit such vitriol? Do you realise this sounds like the rant of the Mac faithful: if it is better in OS-B then it "doesn't matter" or "is stupid". Did your employer buy you a "trophy mac?" Did that touch a nerve? In any event, since you brought it up, let's consider what truly is "remarkably stupid," shall we?

                      It is "remarkably stupid" to call someone else "remarkably stupid" in a post littered with grammatical, factual, and spelling mistakes. At the very least, it makes the reader greatly question the writer's ability to make such a judgement.

                      It is "remarkably stupid" to overload Skype or Hangouts screen-sharing with useless compositing effects. I use both Skype and hangouts on Linux extensively, and they work great. I have daily meetings where everyone has a high-speed connection. That compositing takes its toll, and literally kills conference calls if most of the OSX screens are not turned off.

                      It is "remarkably stupid" to dismiss network overhead as a non-issue for multi-user video chats. Have you heard about net neutrality? Are you aware that Netflix is paying money to put a higher priority on their packets over Google's -- and yours? Or that Comcast's packets get the highest priority of all? Even with the best connections, unless you are paying a ransom to your ISP, your network usage will be plagued by latency for all those beautiful-but-useless transitions. And remember, the conference software may not be very forgiving for messaging latency, especially when trying to coordinate 10 concurrent A/V feeds.

                      It is "remarkably stupid" to declare that OSX multi-monitor support has always "been fine." Either you are delusional or didn't know what else is out there. Since both are highly likely for the Mac faithful, I'll get you up to speed: prior to Mavericks, OSX multi-monitor support was an embarrassment. Go fullscreen on one app, and your 27" attached monitor ... goes blank? What? Hello 2003 (or 1986 if you were using X).

                      It is "remarkably stupid" and shortsighted not to "care about deployment." Maybe it's great to throw things over the wall from your cubicle, but for those of us who develop end-to-end, and for the organization, it is a huge win. And when it's time to bring production code or data back for forensics, that lack of parity can sometimes be a huge hassle. Like setting up virtual machines to get around this problem.

                      It is "remarkably stupid" to imply that homebrew is comparable to apt. Let's consider installing Mysql as an example.
                      Now only does the homebrew method require a non-trivial amount of time to install, it also has different paths and tools with deployment, and this may be different than the MacPorts method! On Linux apt-get install mysql takes 30s and is consistent on all boxes. Now maybe my direct report was lying to me, but it once took him two hours to install a comparable package I had installed in 30s on Linux. Maybe he was using a different build system (MacPorts maybe?), but in any event, the overhead was excruciating. On. Every. Single. Package. Assuming there is an analogous package. If there isn't, that's a whole other level of hurt.

                      It is "remarkably stupid" to imply that not using an OS as your "daily driver" doesn't make you better at it. Anecdotes aside, implying otherwise is simply being disingenuous.

                      It is "remarkably stupid" to imply that because you don't like a feature that it doesn't have value to others. I use multiple workspaces daily, and find them very useful. If you had the option maybe you might come to the same conclusion.

                      It is "remarkably stupid" to state that OSX "does not lag" when rendering OGL in windows, and then in the same sentence admit that Linux is more "performant." Have you considered that OSX is simply slow all the time? I have no problems with performance on my dev boxes (GTX650Ti Boost, GTX660). There are two speeds in windowed mode: "fast" or "faster". I can turn compositing off if I want "faster", but that is rarely an issue. It's also nice to have OGL4.4 when you want it. Or vision works, etc.

                      My observations and experiences are certainly valid. Not only have I used OSX recently, but I have had to manage people who use it for Linux development for many years. I also have had to either deploy the software or coordinate it for many years. Throwing something over a wall has rarely been an option. So for me, Linux provides the best solution.

                      And OSX certainly seems to make the most sense for you given your technical and emotional needs. Sound's like you get to ignore a lot of requirements that I can't; and that OSX is near and dear to your heart. Good for you. If your requirements change, you might want to reconsider.
                      Last edited by deppman; 01 June 2014, 02:13 PM.

                      Comment

                      Working...
                      X