11 ms·
>But that’s completely at odds with how most software engineers work these days. Most software is grounded in an open source development and deployment tool cha
by criley2 7y ago
>But that’s completely at odds with how most software engineers work these days. Most software is grounded in an open source development and deployment tool chain.
Imagine saying this with a straight face. Maybe in web development, but the vast majority of programmers are using closed source tools to produce closed source software.
You're either thinking of a tiny picture vs the whole picture (web devs vs programming in general) or you honestly have zero concept of what programming looks like outside of web apps.
- enriquto 7y agoIn applied math, data science, statistics, the OP is right: free software is the norm.
- nfoz 7y agoReally depends which niche you're in. Matlab for example is also a major player.
- RosanaAnaDana 7y agoNot in production environments. Push is (as it should be) towards open source.
- kgwgk 7y agoMathworks' revenue is $1bn, it has doubled in the last decade. Someone may be using Matlab.
- Spivak 7y agoA ridiculously large number of people use Matlab as a tool. I can't think of a single engineer that doesn't curse its name regularly but I've yet to encounter any actual applications written in it. It's Excel for engineers.
- gmueckl 7y agoI have seen people doing amazing and complex things with Matlab, including fancy GUIs and stuff. But it is almost exclusively used for internal tools as far as I know.
- new4thaccount 7y agoI think this often happens anytime there is a large amount of legacy software written by folks that had software has a tertiary skill on their tool belt. The Matlab IDE is not bad though and is a lot like Python's Spyder IDE. Also, a lot of Matlab commands have fully browsable source provided I've been told.
- LolWolf 7y agoI’ll add to the list: mathematical modelling, optimization, control, essentially all machine learning, etc. Except for perhaps optimizers (which some of the best are closed source, e.g. Mosek), the entire rest of the stack is open source.
- kgwgk 7y agoCUDA is not open source.
- LolWolf 7y agoSure. Neither is the hardware, nor is Intel’s or the Motherboard’s, etc. Would it be ideal? Sure. Is it possible to have every level be completely open source? Maybe, but you’d struggle. I still believe the point is clear, though.
- kgwgk 7y agoAh, you're right! The whole stack is open source if you ignore the non-open-source parts. (Intel compilers are also popular, by the way.)
- LolWolf 7y agoLook, the point here is to be as open as it is to be practical. In my lab, we attempt to use as much open source software and parts as is possible without literally spending years waiting for RISC-V to become mainstream along with fully open source GPUs and computing cores, open motherboards, RAMs, etc... this doesn't even include fabrication or other useful software which runs our machines (do you want to have a several-million-dollar photolithography machine running on poorly maintained OSS?). Yes, should that machine be open in a perfect world? Of course, that would be incredible and in the spirit of verifiability. But right now it is not and there is little we can do about it. It's clearly impossible (or completely and utterly impractical) to pretend that somehow everything can be done in a fully open source way, and it's easy to go down the rabbit hole pretending to be on the high horse of "our stuff is more open." My point is that what can be made with OSS, we almost always attempt to make with OSS, not everything we make is perfectly open and transparent, because it literally cannot be without so much effort as to render the entire thing completely useless. So, sure we use Mathematica in some things when the OSS alternative is mostly unworkable or unusable, but by and large we attempt to be as open as possible such that people can verify our results without needing to spend thousands of dollars on software whose internals we don't generally know. Do we rely on Intel software and hardware which could have another floating point bug? Sure. But it's hard to be at all productive if you don't at least assume a bare minimum, even if that standard is not completely open.
- ras_west 7y agoI think there are people in applied math data science and statistics who use Windows and OSX.
- mruts 7y agoExcel? SAS? Stata? Matlab? All are very popular tools in data science and statistics. You could argue that open source tools have become more popular recently, but I would hardly call open source software the "norm."
- reikonomusha 7y agoI’m open to being wrong, but my domain is not and has not been web apps. It’s mostly been things like satellite antenna control software, quantum computers, scientific computing, and AI. Each of those domains, in my experience, has been firmly grounded in open source. (It does not mean, of course, that the end product is open source.) I recognize there are some domains that are steeped in closed source solutions with closed source developer tooling with no viable alternatives, but IME—as limited as it may be—it’s uncommon. What programming language stack do you (and a lot of other developers) use that’s closed source with no realistic open source alternative? It’s not C, Python, Java, Ruby, JavaScript, Lisp, Fortran, C++, PHP, Perl, Go, SQL, Rust, Objective-C, or Swift? (All of these, of course, not only have industrial strength FOSS implementations, but the first or second most popular implementation is the FOSS one.)
- rch 7y agoAn exhaustive list would get tedious pretty quickly, but I'm imagining that using this engine would be roughly equivalent to building around Rogue Wave IMSL libraries or Mapbox Atlas. It seems like using the SDK in your language of choice would be a reasonable way to leverage the engine where it makes sense.
- gricardo99 7y agoI'm not disagreeing with you, just answering your honest question: >What programming language stack do you use that’s closed source? Verilog/System Verilog (generally HDL/FPGA/ASIC design/verification). Yes, it's a niche (some may even say it's not software, it's hardware, but it is indeed a large code base that requires a software engineering environment/toolchain/practices/etc...). Again, just answering your question for the benefit of the discussion. It would be interesting to hear of others such closed source areas.
- reikonomusha 7y agoThere’s also Q [0] and kdb+ [1] as another example. [0] https://en.m.wikipedia.org/wiki/Q_(programming_language_from_Kx_Systems) https://en.m.wikipedia.org/wiki/Q_(programming_language_from... [1] https://en.m.wikipedia.org/wiki/Kdb%2B https://en.m.wikipedia.org/wiki/Kdb%2B
- opportune 7y agoMost programming languages are open source (or have an open source skin). Most frameworks in any language are open source. As are most commonly used libraries.
- bdowling 7y agoThere are many programmers making closed-source software using open source tools. For example, anything that runs on an embedded Linux platform is built using open-source tools (e.g., GNU compilers and open-source libraries) and is usually closed-source. There is also anything that runs on an open-source interpreter (e.g., Python), which includes a lot of things that aren’t web apps.
- acdha 7y agoYou could have phrased that in a far less confrontational manner. Claiming someone you don't know has “zero concept” is unnecessarily confrontational, all the more because you're doing that while simultaneously claiming to represent a huge and varied field with absolutely no cited sources for that claim.
- sa46 7y ago> you're doing that while simultaneously claiming to represent a huge and varied field with absolutely no cited sources for that claim I suspect it was phrased strongly because the GP made the same claim in the opposite direction: "Most software is grounded in an open source development and deployment tool chain".
- romantype 7y ago> you honestly have zero concept of what programming looks like outside of web apps Are you serious? I don't do web apps. But almost 100% of our stack is based on open source technologies. Python, Twisted, Go, etc. Every single thing we use is open source. It is ironic that you are accusing someone else of having zero concept of what programming looks like outside of web apps when one could easily think the same thing about you.
- AshamedCaptain 7y agoAnd then you go and quote three examples whose primary use (and for 2 out of 3, their creators and/or creator companies where web developers). And even most Go software is proprietary, hidden behind Google's bar.
- snazz 7y agoYou can create closed-source software using open-source software. That’s how Google made so many billions and that’s probably why the AGPL exists. GCC was so revolutionary because it brought a pro-level (although not at the start) compiler toolchain for free and allowed developers who were so inclined to improve and modify it. And lots of Python code is for things like machine learning, Go runs lots of DevOps/neo-infrastructure stuff, and I can’t comment on Twisted.
- simias 7y agoThe parent goes too far in one direction and you go too far in an other. I work in embedded linux development and my entire toolchain (kernel, userland, compiler, flashing tools, and desktop environment) are 100% open source. I suspect that people who target Windows or Mac OS might be in a different situation but that's to be expected, when you target a closed proprietary environment you end up having to use closed proprietary tools. Admittedly I go out of my way to avoid including closed source components in my work but that's not just an ideological decision. As the parent points out, and especially when you're a developer, there's a massive amount of freedom and power to open source tools. Don't like something? You can tweak it any way you like. You don't have to worry about the IP owner pulling the rug from under you without notice. I want to use that code on my MIPS32 target? I can try to port it, I don't have to beg the vendor to release a version just for me. If anything in my experience the archetypal "modern web dev" crowd (the one that got into programming through Javascript, basically) is the one that benefits the least from this because often they don't dare to patch their window manager or their shell to customize them. These days C is often considered a weird arcane language, something like the Latin of CS (including in this very forum) so people don't feel empowered to modify these applications. The fact that modern DEs like to treat their users like slow children instead of exposing the tools that could help them become "power users" probably doesn't help. Then of course for people who don't actually try to read or modify the source of the programs they use "open source" is more of a political statement than anything else. There's no real benefit for them. I'm making generalities of course, I'm not saying that all web devs fit this description. I hope this trend will change as newer, more "friendly" languages like Go and Rust make forays in the system programming space. Hopefully that'll motivate the new generation to get over their fear of system programming and start embracing and customizing the tools their use.
- deleted 7y ago[deleted]
- r-w 7y agoUsing a Mac. Can confirm that almost everything that’s actually built upon by other stuff is open-source. Even much of Apple’s development software is open-source.
- mhh__ 7y agoC, C++, Fortran, Haskell, ML, Anything .Net, Rust, Java, Go, Linux etc. Are all open source so I think you are correct but way off in terms of scope
- palebluedot 7y agoYou're either thinking of a tiny picture vs the whole picture (web devs vs programming in general) or you honestly have zero concept of what programming looks like outside of web apps. To give some more pushback on this assertion... I've been developing software for 21 years now, and the only positions I had where there was negligible open-source software were in the first couple of years (in the automotive firmware space [OnStar], and a brief stint in some defense contracting). For the last 18-ish years--firmware, systems, enterprise, virtualization, demos, security--everything I've worked on has largely been based on open-source software, or the product was open-source itself. What I've never done professionally: Web app development. Honestly, I think it would be hard to overstate the prevalence and impact of open-source software in the field of programming (and really, the entire tech field).
- deleted 7y ago[deleted]
- jasonhansel 7y agoReally? OpenJDK, .NET Core, gcc, etc. are quite popular outside of web dev. What we really need is an open source implementation of the Wolfram language (a side project idea I've had for a while.)
- bborud 7y agoWolfram Engine is not an IDE, or a photo editor, it is a programming and runtime environment so you can't compare these things. They exist in different worlds. If you want lots of money for people to even use and learn your language, you have to provide a free alternative to get people onboard. You can choose not to, of course, but they you will limit the reach and the importance of the product. (No, being able to use a sandbox is not sufficient to properly learn any language because that's not how you use languages to build stuff) And before anyone says how important Wolfram Engine is and that this is the going rate for specialized software: nobody cares. Because you are probably wrong if history is any guide. Lots of software used to be niche software and isn't today. Things change. If it's expensive and only available at a steep price, then only those who need it will buy it. The curious will get their kicks elsewhere. There used to be a time when database professionals stomped their feet and yelled if you suggested Oracle might consider a Linux port of Oracle. "Impossible! People who use Linux aren't into paying for stuff!". And then it got released and then Linux became its most important platform. Things change. In order to get people to include it as an infrastructural component you probably have to ensure that it is free for non-commercial use. I'm not sure if you have to open source it. I use lots of stuff that is free for non commercial use - and then I use it commercially and pay for a license. Occasionally really expensive licenses. I've looked at Wolfram Engine a few times, but in the end we never used it because it just didn't have a great enough following among programmers. I couldn't just tap into a talent pool when recruiting. It was hard to find experience. I tend to choose tools based on the _people_ I can find to use them. In fact, usually the people I find choose the tools. That goes for how I choose languages, software, cameras, cars, motorcycles...you name it. No vibrant community means I don't buy in. And sure, there are lots and lots of cameras that are better than mine in that price range. But the cameras are not all that important. The people are. Who I can collaborate with, who I can learn from, who can help me solve problems. Also, it tended to be a bit on the expensive side for what I wanted to use it for. Sure, I could have contacted Wolfram and said "look, we want to use it for this, but the licensing model doesn't quite fit", but how many developers do this? (I remember thinking about buying Mathematica several times to tinker with it, get to know it and then perhaps see if I could use it for something. But it was expensive, and I'm not spending that amount of money for something I'll maybe going to play a bit with and then perhaps forget for a year. This too makes Wolfram Engine a bit of "interesting, but I'm not going to invest time in it". And I can't say I've ever blamed Stephen Wolfram for it. He has a product that makes a bunch of users happy and him rich. Who am I to tell him that he should do things differently? So he exists over there and I exist over here and everyone is happy. I'm excited about this change. I wish it had happened sooner so it could have had more of an impact. It certainly put Wolfram Engine back on my radar.
- shawnz 7y agoCan you give some examples of industries where the development tools are NOT mostly open source?
- deleted 7y ago[deleted]
- linsomniac 7y agoThat is true, to some extent, but the cost of commercial software makes my company think really hard before we go that route. It has to have a clear and obvious value, or we are reluctant to seriously consider it. I'm not talking about the dollars, that's relatively minor. It's all the things around it, especially with licenses becoming more complex, including core counts, including all these weird provisions related to when and how and what features can be used in dev and staging and production, what versions of other software they can work with, etc... The software that we can buy and just use without thinking about it is great, but it's really few and far between these days. We can spend weeks or months analyzing the things surrounding the commercial licensing for a product, and that is spending one of our most valuable resources: attention.