Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Which project does not have any good open-source alternatives?
226 points by safwan on Dec 27, 2019 | hide | past | favorite | 277 comments
Open Source is changing the tech industry. But there are still a lot of space where the closed source proprietary software is the only player.

Can you comment some of the space? So a person who is thinking about creating a new open source project can get the idea and start making a alternative?

Excel alternatives might be uncountable. Implementing spreadsheet basics is an advanced beginner exercise. But even Google’s billions only get it a distant second best because Microsoft is still working hard despite the lead. Sure Google and Apple can meet most needs most of the time. They’re good enough mainly because they are free beer. Not because they are open source. Obviously.

Don’t get me wrong. I’m a GNU fanboy at heart. But I dont believe in magically willing well engineered software into existence. It takes resources fungible with money. Projects with cash are at an advantage. Projects with cash, motivation and years of experience in the codebase are the ones that dominate. Not starting from scratch becomes a huge advantage.

A new project in a space needs to find an unserved market segment with resources fungible with money. That’s why successful developers’ tools are easy and CAD programs hard.

If you want to make an alternative, just make it and learn from what happens. Because what everyone wants is a free iPhone. Good luck.

For about 10 years I had a consultancy that in the latter half focused on B2B. One of the biggest qualifier pitfalls was thinking we could replace Excel with anything else. There are a myriad of reasons this fails to work. I swear some of them are near voodoo.

Google Sheets is a fit in some situations but the real facts are that Excel is amazing and when someone has been running core biz logic on it for a long time; that operator is someone you need to get to know before feeling too certain.

There's money in replacing that person and fucking the whole thing up so they are stuck with a long tail of consultants. I never ran that sort of business. However on a couple painful occasions I overzealously pitched what python and psql could do to solve a problem and later had to eat crow.

I know what that voodoo may be. Of the many failed "replace Excel" projects I've seen in the investment banking \ hedge fund world over 20 years, the usual mistake is that the focus was on the specific Excel model itself and not the generic building capabilities that Excel provides. An Excel model, i.e., the specific map from inputs to outputs, is typically fairly easy to replace with another tool. But what you've done is replace just the pants, not the sewing machine. Excel is the pants AND the sewing machine. And that sewing machine part is very hard to replace. So you can end up with the same model in C++, the very same map from inputs to outputs, but the user's ability to make changes and understand the model is greatly diminished. So they say "no thanks" and stick with the Excel model.

You summed it up perfectly. Jobs I successfully finished after a few bites of tragically not understanding involved working closely with the Excel department and making sure they could function as usual but extracting data to go into the systems and providing a net gain for those people.

At the end of the day, the people that do the magic that keeps everyones job paying aren't always (or nearly never are) the people that make the contract hire decisions. If you can give those people a tool that lets them 2x their work and be excited about it there's a big net win. If you want them to move to a statically modeled web interface with dynamic tables and they lose all their ability to do everything they know in Excel, everyone loses.

Portability and timing is key if you have to take on that sort of gig. Team buy in might be worth more than that. Never take somebodies sewing machine if you still want that biz to make enough money to pay you.

Agree. If you're selective about which bits and pieces you move away from Excel, and not religious about getting rid of Excel entirely, you can often have a great result.

What trips people up is that Excel models can be deceptively inviting of replacement ideas. They may have many workflows within them that are obviously much easier to accomplish with a different tool. E.g., grouping and applying aggregate functions; filtering; joining; filling missing data, especially with constraints such as filling forward EPS estimates but only into the same fiscal quarter; etc. You could look at an ocean of INDEX(,MATCH(...)) functions in Excel and discover that the same manipulation in Pandas would require just two lines of code. But it is easy to overlook the importance of seemingly simple calculation flows, in the same model, that are uniquely suited for being expressed in Excel, the universal language for describing calculations.

For example, I have seen data analysts move from Excel to Python, replacing their models as they go -- after being wowed by Pandas' data manipulation capabilities -- and then get bogged down for months trying to recreate what Excel's =RTD("BLOOMBERG.RTD","",...) already did for them. And when the portfolio manager tells them, "this number looks wrong", which happens often, they spend half a day dumping data into Excel and building a sheet that's illustrative for the PM.

>Excel models can be deceptively inviting of replacement ideas.

In my mind that's actually what is the root at any talk of "Why isn't there an open source alternative for X amazing program?"

As a wiser person than me once said, "It's easy to imagine so I imagine it's easy." Deceptively simple operations in things that have a long legacy of supremacy can just be near impossible to clone even if you can churn out a POC that looks reasonable in 20 minutes. That trap is a big hill a lot of us die on. At one point in my life I swore off ever doing ETL, and now I do it for a living. Seems like that's actually the world now. Sheesh. With MS embracing Python for big data, maybe the next big thing is just what it's always been... Excel.

Excel is the code and its interpreter. You don't want to lose the REPL flow for development, but maybe you can add an AOT compiler for production?

I worked six years in the IT department of a small domestic manufacturer, and deciding when a model had outgrown Excel and needed to be created as a tool (sometimes just a pretty interface for our ERP system) was one of our main tasks. I hate the hell that users can bring on a company when they misuse Excel but it will never go away.

We converted our excel wiz to do R. She will never return to excel for advanced stuff. The simple stuff could be done with lobte office (except for excel sheets that come from outside).

I'm not an Excel user. Genuinely curious: Is it really that the alternatives are worse, lacking features, unstable, or does it come down to "they're not Excel", in that they're not a drop in replacement that can perfectly load and run every Excel sheet ever created.

Because that would be my gut feeling: Not interoperable enough, since some things just work differently, but not necessarily much worse. If you can't send your sheets to company b without being sure they can properly use it, it's worthless. Pretty much the same problem with Word.

A PM that worked on Excel in the late 2000s explained it to me like this: Most people use about 20% of the features in Excel - which should make it easy for competitors to copy, right? The kicker is that different people/industries tend to use a “different 20%” of the features, making the barrier to really compete very high.

> The kicker is that different people/industries tend to use a “different 20%” of the features, making the barrier to really compete very high.

The thing is that different job functions that are exposed to overlapping user bases in the same industry (and even office) use a different 20%. If it was just per-industry variation, it would be easy for industry-specific competitors to succeed, but the parts of Excel used actively by Andrew, who makes a tool that is also consumed by Bob and Carol are different than those used actively by Bob and Carol (which also differ from each other, and which each have their own users who rely on the tool and the features it relies on, even though they don't actively use the features.)

It was that combined with Microsoft somehow finding a way to make it so the 80% of the features that you didn't use didn't get in the way. Same thing with Word.

Excel gives you the power of being a programmer without having to admit that you're programming. There are people who do absurdly impressive things with it, the CA-GREET model for estimating CO2 outputs is an excel workbook that took me a while to figure out how to even use.

But the barrier to someone using it is much less because it is gentler than, say, giving someone python code to do the estimate and expecting them to do it correctly. I think the interface familiarity is key.

Unfortunately, while LibreOffice is usually pretty good at all this, it's always just one or two peculiar difference in function calls that breaks it. It's pretty close, but just not interoperable for anything advanced.

One problem with sheets is that its external. Most companies I've worked for prohibit use of external drives/email/apps.

My impression is that Microsoft has sweated the details of Excel, the way that Apple sweated the details of the iPhone, so that it is extremely smooth and quick. This in turn makes it literally less physically laborious to use. Things like casually swiping the mouse across a range of cells to select them.

I suspect making it work this way requires an army of developers and some corporate will power. Having an inside track on exactly how the OS works may be an advantage.

> sweated the details

I strongly suspect you are correct. As stale evidence of culture, I offer some writing by a software developer who used to work for Microsoft on Excel:


I am an Excel user and nothing beats it in terms of functionality and add-ons but it's the win32 level of usability that scores it for me, nothing comes close to packing so much in to such a practical workspace. Don't even get me started on Project desktop and some key add-ons!

The MS Office suite is far more user friendly than the alternatives.

I still use Libre Office on Ubuntu and I wonder why they chose to be so different. It would be great if they could completely copy MS Office in UI/UX, but there's probably some kind of copyright there right?

The thing is, OpenOffice (and by descent LibreOffice) did copy MS Office's UI/UX. Then Microsoft switched to the "Ribbon" interface, throwing all that shared knowledge out the window. Recreating the Ribbon in LibreOffice is an active development task, last I checked.

Is there any limitations on how much they can copy? Surely Microsoft have some of the design and specs locked down with patents

I don't recall the outcome of that "Apple claims ownership of rounded corners" lawsuit, but I suspect (being absolutely not a lawyer) that'd be the relevant case law.

This really depends on the Google v Oracle lawsuit currently. If Oracle wins then the remains of VisCalc will have a copyright claim against everyone...

Microsoft successfully sued Corel for design patent infringement related to the ribbon interface. Corel had a “Word mode” in WordPerfect X7. The damages were about a quarter million dollars. YMMV.

Oracle v Google is copyright as applied to API’s. Different laws. Patents expire more quickly.

It's a very effective form of distributed / peer to peer lock in.

Even if you individually (yourself or your company) would be willing to move to some decent alternative (they do exist), you will still be exchanging files with people who are more locked in than you (e.g. banks/finance), because of custom plug-ins, custom macros, etc.

If I wanted to compete with Excel I would start with a plugin / add-in or complement tool and work my way from there. Some companies are probably doing it. They're not really replacing Excel itself but capturing some of the value away from Microsoft.

Honestly the suite of Excel + Powerpoint is incredibly hard to replace.

The entry level to power user path of Powerpoint and Excel specifically make it easy to jump in and then get very powerful usage from very quickly.

Once you see Apple Keynote i never went back.

But true for Excel

Powerpoint's for sending information to and between C-level folks. It's basically the only file format you can send them that they'll maybe actually open. Its use in actual presentations is secondary.

High level multiphysics, RF, and CAD tools and simulators. Autodesk, Ansys etc. still dominate the field. The state of tools like OpenFoam is like the early days of Gimp and KiCad; theoretically possible to use but only if your background is in software engineering and/or if you are really, really poor and desperate e.g. a grad student on a tight budget. If you look at software like open source FTDT sims, almost all requires specifying layouts, project settings, and designs in ridiculously long config files that would put JS build tools to shame. If you are lucky, you might be able to design your model using a proper GUI e.g. Gmsh. If you are not, be prepared to start drawing out your model with a text editor, point by point. Imagine creating SVGs by hand, that's how ludicrous it is. Most of the "open source" stuff are grad projects, more of an exercise in show and tell than anything serious. Sure it is perfectly possible to specific the cross section of an airplane wing by hand. By the time you are done with that your colleagues using proper GUI tools have already ran their simulation and published three papers.

For those who are interested, one promising project is SU2:


One of the goals of the FreeCAD project [1] is to be a high-level interface for tools like OpenFOAM (via the CfdOF workbench [2]), and other solvers/meshers like CalculiX, Elmer, Gmsh, and Netgen.

Its modular, workbench-based, Python-around-C++ core approach provides an environment for people to make their own specialized tools, like the Arch Rebar tool [3] that was created as part of a Google Summer of Code project. [4] like airfoil design as you mentioned. There was a recent forum thread started by people interested in doing exactly that. [5]

[1] https://freecadweb.org/

[2] https://forum.freecadweb.org/viewforum.php?f=37

[3] https://www.freecadweb.org/wiki/Arch_Rebar

[4] https://forum.freecadweb.org/viewtopic.php?t=22760

[5] https://forum.freecadweb.org/viewtopic.php?f=3&t=41159&start...

I recently spent time at work trying to get OpenFOAM to do, well, anything using FreeCAD. I couldn't get it to install properly on linux or windows.

On windows, you're supposed to use some part of their autoinstaller through the freecad UI, which apparently didn't set some environment variable somewhere. On linux, I had package incompatibilities (using Ubuntu 18.04 LTS).

It... needs work.

> It... needs work.

Hah, very true. I have been working directly with OpenFOAM upstream to improve the packaging situation on Debian/Ubuntu but unfortunately I didn't get started in time for the 18.04 release. It's a bit tricky too in that many FreeCAD developers use Linux but I would bet most of our potential engineering end-users would be on Windows. Thanks for your feedback.

If they had a PPA, it would solve the issue.

The problem is they don't.

> interface

What are some ways that FreeCAD can solve the problem of paying the rent of people who walk around holding their users' business problems and UI frustrations in their head?

100% this. When I startup-ed, I looked hard for a free alternative for RF simulation. There's some FDTD solvers, but as mentioned, they require you to spec the mesh, which is laborious and black magic which Ansys HFSS simply does for you.

Only saving grace is that these companies usually have some "start-up" discount (~95% discount), which of course I anticipate feeds the lack of open source development.

What was your startup about? Any links? Would be awesome if you can write a blog post.

I think the definition of "good" matters a lot here.

Consider Adobe's Photoshop and Lightroom. Many people (including me) would love to see those supported on Linux, or even better, be out-classed by open-source software, e.g. Gimp and Darktable.

Gimp and Darktable truly are wonderful pieces of software. But they aren't yet compelling enough to cause a mass-migration by professional photographs. Another example would be Microsoft Office vs. LibreOffice.

So you may need to refine your goals a little: Do you want to (a) fill a gap where no viable OSS exists, or (b) help OSS dethrone proprietary software in some category, e.g. Photoshop?

> So a person who is thinking about creating a new open source project can get the idea and start making a alternative?

I cringe when I read that, because I've asked that question many times for myself, and I never ended up following through. I think there's some wisdom in the notion that the best OSS project idea is one that solves a problem you have. Otherwise it's just too hard to really see it through.

> So you may need to refine your goals a little: Do you want to (a) fill a gap where no viable OSS exists, or (b) help OSS dethrone proprietary software in some category, e.g. Photoshop?

Filling a gap where not OSS exists. I was trying to understand the gap. Like, many people are saying there are huge gap in CAD technologies, but this can be only solved by the persons who have domain knowledge, like Civil Engineers. Unless the people having the domain knowledge does not agree to volunteer or take the inatiative, no one will see any progress in that field.

> I think there's some wisdom in the notion that the best OSS project idea is one that solves a problem you have

Yeah, it is true. Like I am facing about a problem with APM that there are no or open core alternative of proprietary. Untill this post, I did not know other people are also thinking about its need.

People do volunteer and take initiative. Then they get hired by Adobe.

> Gimp and Darktable truly are wonderful pieces of software

Let's not kid ourselves -- Gimp is an unusable bag of crap.

Two that I have encountered:

Aspera: a high-performance data transfer suit, used in genetics and the film industry. I wrote a blog post about it a year ago and still get near-daily emails asking me if there is an open source alternative yet. QUIC may provide a basis for a solution, but it needs to be explored.

PDMS: software for planning, modeling and simulating oil and gas plants. Main two commercial suites are AVEVA PDMS and Autocad Plant 3D. AVEVA PDMBS is upwards of $1,000 per seat per month (!), so not feasible for projects which I have in mind (more on that in the new year). I'd imagine that Blender could be used as a starting point for a Free alternative, but I'm not sure. This is a tougher one.

[1] https://www.ccdatalab.org/blog/a-desperate-plea-for-a-free-s...

Open source projects tend to emerge when there is general access to the purpose of that project. You can't expect an open source project for Ocean-based Wind Turbine simulation or molecular synthesis of Organochloride compounds.

They're niche industries that require tremendous amount of upfront investment, in both physical assets to realize the utility of the open-source project, and knowledge-base required to operate the software.

On the other hand, you could have a piece of software that requires niche knowledge but its used literally everywhere - for e.g. OpenSSL. Not many people can contribute to it, yet it exists as open source. The point I am trying to make is that OpenSSL and your quantum hardware control software are very different things.

I actually respectfully disagree with this. In my travels, I have encountered many situations where very niche, industry-specific software is completely Free and Open Source, and I have encountered situations where commonly-used, widely useful software is proprietary with no Free solution.

On the Free side, I think one reason is the copyleft nature of the GPL. Another pattern indicator is how modular the software is - smaller bits are easier to open source than massive projects - and the general inclinations of the programmers, their bosses, and their legal teams.

That being said, I don't think it's unreasonable to expect a Free alternative to AutoCAD in 2020. (Pipes 3D is an AutoCAD extention). It's widely used software across numerous industries, much like Photoshop, Illustrator or Audition, but there is no Free alternative that I'm aware of.

A particularly annoying thing to me here is that AVEVA was actually originally developed and owned by the British government, but it was privatized (I think under Thatcher.) I think the value created for the tax payer would have been much greater to create free tools and software and make them available to everybody rather than just whatever pittance they got from selling it during a privatization firesale.

The reason of not having a open source alternative of CAD is not having proper domain knowledge. The people who have the domain knowledge are not taking that intiative that the early stage software engineers took.

Were these open-source projects result of academic research or someone's dissertation? If so, then yes, many niche packages, for e.g. from CERN are open source even though no one has the ability to go and build their own particle accelerator.

Another exception is public works paid by taxes such as Government open source projects.

And yet, in commercial industry where I've worked - it is hard to find anything that's useful and can replace internal software because there are no free alternatives. I don't expect these things to be out and open!

I think AutoCAD has an Excel like quality within a lot of industries. It is ridiculously versatile, but often used in a very primitive and risky way. And often you end up with a "drawing" that lacks any of the properties of high quality data. It is used like a really advanced pencil with a thousand nebulous features. That is not a good basis for an open source tool, it is just not well defined enough.

Something like Cabinet Vision also too niche? Don't think there are really any serious open source contenders in that space.

Aspera is among the most frustrating technologies I've been forced to use. I used to work at a video website where we would acquire film files from studios directly, and the amount of times Aspera would fritz out easily justified the time to try and develop and internal alternative. We ended up terminating all the Aspera connections at a service and transferring over direct datagrams for the rest.

Your article is really interesting! I did not know about Aspera before reading it.

I did not have any idea that changing protocol will have this amount of benefit in data transmission. Also amused that no one have not solved it in Open Source world.

The worst part is that Aspera is actually a proprietary fork of a Free Software project that IBM purchased and then strong-armed institutions into using until it became an industry standard.

Ha, I wrote that article while I was dealing with all this stuff. FASP is the proprietary fork of UDT.

tus.io can saturate network connections reliably and in a resumable way, I wonder what more you would require that makes Aspera stand out as the only way to fly?

(honest question, and full disclosure: tus core author)

Have you tried GridFTP for fast transfer of large data sets?

Tsunami UDP is not a good replacement for aspera?

There's tons of highly specialized vertical market software that will basically never have open-source alternatives. Every industry has a few examples. I at least know of the high-end CAD, FEA, and CFD software used in certain branches of engineering. See Ansys, Autodesk, etc. The reason why is that building this type of software correctly requires an immense amount of domain knowledge. That type of knowledge doesn't come together in a useful way without a lot of money.

Such software also doesn't get used enough to be trustworthy as far as results without some other big companies using it to do things with and testing the results. What company is going to trust their product designs to the results of a bunch of open-source code with no company standing behind it?

I don't understand why there isn't an industrial consortium supporting an open source CAD standard. Enough companies depend on proprietary software that they already pay a fortune for that they could front the cost of software development to save money in the long run.

(1) Cost of software is relatively small compared with the cost of employing the people who use it.

(2) Cost of software is relatively small compared with the cost of retraining staff and changing business workflows and processes to cope with different software.

(3) Changing to new software is relatively simple compared with the problems of making all your staff, your contractors and your suppliers change to new software.

(4) Even if changing to new software was relatively simple and cheap, there would be massive risks in doing it. If you are designing nuclear power stations, nuclear submarines, skyscrapers, bridges or whatever, the cost of mistakes can run into the billions, or be fatal for a significant number of people.

(5) Bonus point: making this kind of switch could take a decade and could end up not saving you any money (cf Munich trying to switch to open source). Not many CEOs will attempt it because they are more focused on the next quarter's results. Anyway, in many if not most companies, the benefits -- if any -- would accrue to whoever the-next-CEO-after-the-next-CEO happens to be. And who really cares about that?

It's hard enough to get most people to change their email client or their text editor or whatever when the alternatives are free and the real-world risks are negligible. Getting them to change the software on which their whole business survival is based is another matter.

Moral: changing business software is not as simple as it seems if you only look at the software and don't look at the whole business plus the whole industry infrastructure of related businesses. It's never as simple as people think.

(5) Munich might not be a valid example. Parent talked about a consortium, for which a single city administration might be a bit small, and AFAIK the failure was not necessarily technical.

Belated reply (Christmas!)

> the failure was not necessarily technical

Well, that was exactly my point ;-)

If you only look at the technical issues, ur doin it rong.

The best workers will up and leave. People don't want to invest in a skill set that isn't portable. Imagine switching software development tools on the fly.

> with no company standing behind it

One misinterpretation of this mindset I have heard: "They just want someone who they can sue if things go wrong."

If my business depends on something, I want to know that attention is being paid to it.

"They just want someone who they can sue if things go wrong." is true, but phrased in a rather hostile/negative way. The more positive way to say the same thing is, that because the company building the software knows they can be sued, and is not some fly-by-night operation that will vanish at the first sign of trouble, they have a strong incentive to make sure their software is high-quality and free of critical bugs. That incentive has proved to work well in the commercial world.

Much better than, well this open source software has a critical bug, I sure hope somebody feels like opening a PR to fix it before our deadline. Or we could spend a few million bucks to spin up an in-house software development department to fix it ourselves, when that isn't our primary line of business. Or we could just spend a few thousand a seat to buy something proven, that somebody we can trust, and who is liable to be sued and has something to lose, is standing behind. Dirt cheap compared to the other options.

Video editing.

There’s Kdenlive and OpenShot that are maybe the most well-established, but they we’re both very buggy the last time I dealt with them, and they’re nowhere near featureful as what’s available commercially.

I think we could benefit from a well-know MovieMaker equivalent. Something that isn’t featureful, but is reliable (read: doesn’t crash) and intuitive.

The low-end video editing market also hasn't been satisfied with closed source proprietary software either.

Yes, there are a lot of players, especially on the Windows side in the under $100 price range, but nothing I've used has been comparable to iMovie on the Mac. It's the one void that hasn't been filled for me since switching from Mac to Windows.

I've purchased Cyberlink PowerDirector, Corel VideoStudio and Premiere Elements, and I didn't find them to be very good. There's too much of a sloppy "kitchen sink" mentality to them.

I actually found Windows Movie Maker to be better than the aforementioned products, but that got discontinued without a replacement for quite some time. There's now a "Video Editor" application which is part of "Photos" that is serviceable, but I would gladly pay a Windows app that is akin to iMovie - simple, focused and functional.

It takes a bit of getting used to but VSDC does fill the Movie Maker spot pretty well. The hard part is that things are in a few menus, but once you got that down, it's pretty good.

Edit: Not Open Source though, woops. Still a good sibstitute since Microsoft doesn't host Movie Maker anymore.

I've tried everything that I can find and in the end I decided that my best bet was Blender. It's the only thing which is reasonably bug free and has a UX that allows you to get work done at a reasonable speed. I would say that even without considering bugs, the biggest problem with the free/open source video editors out there is that the work flow is truly awful for doing repetitive actions. I think the pull to be "easy for beginners" is just too strong. The applications turn into a frustrating exercise in precision mouse clicking. Blender's UX is actually awesome... but intuitive it is not, unfortunately. I think it too me 2 days just to configure it before I got started LOL.

Piggybacking on this, a version of After Effects for Linux would allow me to completely switch from Windows. There's a few video editors for Linux to rival things like Premiere but no proper FX/GFX editors with things like particles, audio spectrums, all the nice-to-haves.

Once I can create the flashy animation style stuff I regularly create and not just Windows XP Movie Maker-level animations, I'd pay any price and switch to Linux in a heartbeat.

I'am about to try DaVinci Resolve as an alternative to Premiere (I used Premiere in the past). But I don't want to fork $20 per month because I don't use it that often. A good opensource video editing software (or NLE non-linear editing as they call it) would be great.

Wait, isn't DaVinci Resolve a one time purchase of $299? Or am I missing something?

They have a free version thats good enough for a lot of people. I'm assuming they use that.

Free if you only use one GPU. DaVinci Resolve is a pretty solid choice.

This. I so want something as good as Adobe Premier because I can't justify paying monthly for it, but i am always disappointed.

I've heard several video pros swear by Blender that it works wonders as a video editor, but I don't have experience in that area.

There might be an opening for an OSS alternative to game engines like Unity and Unreal. There are scores of open-source game frameworks out there, but there's nothing I'm aware of that comes close to the ease-of-use and cross-platform-build support that Unity has. Of course, you might have an uphill battle because both of the above are free for smaller projects and have fairly generous pricing models that scale based on income.

Godot is what you are talking about. It seems to be doing very well. It's MIT licensed, and has official support for C#, C++ and their own Lua-like scripting language.

Godot might be it in the future... but not yet.

It seems to focus on 2D for now, almost all the showcase games for it are 2D also. I don't think it's been battletested enough in 3D yet.

Earlier this year I discovered Xenko [1]. I didn't test it personally, but I was quite impressed with the features provided, and the game editor looks like a mix between Unity and Unreal Engine. The 3D engine seems a little bit better than Godot, from what I've seen. Though there is no support for Linux/MacOS yet, and mobile is done through Xamarin, that may come with its own ball of bugs.

[1] http://xenko.com/

Superpowers [1] tried to fill this niche though I don't know how successful it was.

[1] http://superpowers-html5.com/index.en.html

What about Godot?

This article about how Microsoft Access won't die got me thinking about creating an open source alternative. I just retired and am looking for a project. I also have a history with msft that might be helpful.


This is my pet peeve. I'm already working in a relational language (http://tablam.org) to use as the core.

My dream is to have not only an Access/Excel(in the role of pseudo-table programming) alternative, but one that could work great in a iPad/mobile device.

Also, in this space, most "options" are fully on the cloud.

Thats cool, but will never be a real challenger to Access or Excel if depend on cloud 100%. I need it to work fully standalone.

My first programming language was FoxPro. I know what it look like to "live the dream". One single language and environment and you TRULY code ALL the app: Db, logic, forms, reports, web services, etc.


BTW: why start with a relational lang? The MAIN power of the dbase/fox family above access was to have a truly tailored language for the task. With office, you MUST work from a paradigm (Access:Relational, Excel:Reactive functional) and become an inferior procedural maybe OO developer (VBA) to finish stuff. The dissonance is heavy.

I interviewed with a quant hedge fund in 2004 whose systems where all in FoxPro. They loved it. The general partner of the fund believed that Microsoft had figured out that they could unbundle FoxPro into 3+ components (DB, IDE, Reports...) and sell each separately. It's been a mystery to me why no one, using sqlite as the DB foundation, has attempted a modern-day FoxPro\MsAccess-like tool.

Using sqlite will be good. This is part of my plan (to build on top of sqlite (better) or lmdb (crazy!). Honestly sqlite, not kid ourselves).

P.D: I think for a company like MS FoxPro was not a good business, but it could be very good for a smaller player. Fox have a decent market and was very loved by the community.

Be very careful if you are going to invent your own programming language. The Eve creators had similar noble goals and ended up burning VC money and achieving nothing.

This my hobby and at worst, will be the only one to use the lang. I'm well aware of the complications of the endeavor. I procrastinate in start this for more than 10 years!, because I tell myself: This is not for me, and somebody else must do something better.

I wish to have some funding but my need are modest, so if i cover my own expenses so i can focus at least half time is good enough...

Or you could help fix up Libreoffice Base which badly needs some love

Can someone explain what's going on with that project?

There is a LGPL library that I am familiar with that handles it https://jackcess.sourceforge.io

I have a very bare bones Android app which uses the library https://play.google.com/store/apps/details?id=com.unwrappeda...

Incidentally my Android app is based off my free software Android project https://github.com/dennis-sheil/android-spreadsheet

Yes! scrolled all the way down for this. In the non-tech world, a GUI/form builder + relational database that was extendible through a decent scripting language all in one package would be huge.

If there's a real, useful OSS alternative to Access then let me know. Otherwise you might be onto something!

Maybe the new "open" Microsoft will put it up on GitHub. Probably not though. I imagine the code base is a mess at this point

Im working on exactly that. Check out ResponseVault.com.

Focus on what you know. Make sure your team includes at the very least (in no particular order):

- Someone who is part of the target audience. They should be able to provide your team with a good idea of the features you absolutely need to get started, and might be a good source of ideas for differentiating features.

- Someone great at manual quality assurance - user testing, poking the system through the laughably complex and diverse devices we all use, and ideally translating manual test scripts to automated ones, where possible. Lots of software has massive amounts of features hidden behind a broken UI.

- Someone great at UX, in particular related to the type of UI you are building. Web UX is not the same as desktop or API UX.

- Someone great at automated quality assurance - TDD, CI/CD, linting, fuzzing, code & user metrics, telemetry, performance and stress testing. They keep your progress from stalling over time.

- Someone trusted by the entire team to plan, direct and arbitrate. They avoid double work, keep the team going in the same direction, and keep interactions human rather than textual (which has far too low bandwidth to avoid conflict in the long term).

For most features you'll want all of these involved in the planning at the same time (and place, if at all possible), to get the most out of everyone's time. They'll all be able to see how the work fits together and will provide unforeseen insights and questions crucial to building an excellent product.

3D CAD software is light years behind in the open source ecosystem, but competing with Solid Works or Auto Desk is a enormous task... Although Blender seems to be catching up in 3D animation!

FreeCAD (https://www.freecadweb.org) is also on an accelerating pace in terms of quality, although it still has a ways to go depending on your workflow.

Tried using FreeCAD for a simple project for parametric design, it became really slow to the point of being unusable. after only about 10-20 operations, Other than that it's pretty fun to use.

Fusion is orders of magnitudes better though.

CAD software like AutoCad does not have any good Open Source alternative. As it is mostly used by Civil Engineers, I think when the Civil Engineers will motivated by the Open Source manifesto, they will approach making soemthing good alternative of CAD software!

CAD is far from just something for civil engineers.

It's used by mechanical engineers. It's what you use to design an engine. Good CAD software hooks up to the inventory system so that parts can be ordered automatically.

It's used by electrical engineers. Special CAD packages exist for integrated circuit design, magnetics, and antennas. For example a motor might contain coils of wire, permanent magnets, air, and various components through which magnetic field lines are directed. Eddy currents must be analysed.

It's used by chemical engineers. Pipes and tanks and pumps get laid out. Stuff like water hammer must be accounted for, except maybe the fluid is poisonous and explosive. Expansion joints for thermal stress and pressure changes might be important. Stress on welds must be calculated.

The crazy part is how expensive CAD software is. AutoCAD can be thousands of dollars a year and was created [1] 37 years ago!

The age of the product would surely reveal the difficulty of creating a competing product...

[1] https://en.wikipedia.org/wiki/AutoCAD

Openscad? Or that doesn’t do everything?

Openscad is a completely different paradigm. It is a graphics scripting engine, not a parametric modeler. Openscad is good for what it does, but is a hugely different beast from a parametric modeling system.

In solidworks (to pick on the one I am most familiar with, NOT expert with) you can click on an edge and say "radius this". In Solidworks, you can have a master model drive dimensions down to other drawings, so that multiple people can work on different parts of the same system and get the bolt holes to line up. In Solidworks, you can say "give me 2% draft angles on these faces, and run an injection mold flow analysis."

Openscan is cool and I use it, but nobody would confuse it with Solidworks or similar.

Openscad is a great project and I'm impressed at it's performance and small size, but it's completely unusable for non-programmers (99% of consumers of CAD products).

Almost all drafters and fabricators just want to interact with the 3D model with the mouse. Dragging and adding features.

Also 2D drawings are the main output of a CAD program, to build the designs from. Which Openscad doesn't provide.

Not completely on topic, but I fear we're rapidly losing many video games of yesteryear to time and their closed-source nature. Luckily, milestone games like Doom and Quake were open sourced some time ago.

There's reverse engineering of some codebases like Rollercoaster Tycoon, Diablo, and Super Mario 64, but for 99% of games we'll never see them outside of the original release or an emulator.

I remember reading some articles[1][2] where it talked about older games where the source code is long lost.

[1]: https://www.rockpapershotgun.com/2019/06/13/square-enix-digi... [2]: https://www.theinquirer.net/inquirer/news/1014845/sega-loses...

I learned programming mostly from reverse engineering open source games. Would be great to see this happen more.

I would love to see a pervasive culture of copying proprietary games as open source projects, which we see with a lot of non-game software. Open source should be keeping old games alive and loved, instead old games are being clawed back to re-monetize.

There is some open source games, but not many and all the old console games are simple and graphically/audio simple, all the old PC games, it's really only modern AAA titles that have tons of complex assets and would be hard to 'open source clone of X'.

Exchange. Imap and friends don't provide the seamless functionality that Exchange does. Contacts, calendar, permission sharing, group message folders. You just can't get close. I love OSS, but I have to recommend Exchange because their is no viable alternative.

This is true but happily I will never run it again thanks to office 365 and gmail.

The IDA disassembler is pretty irreplaceable. Or at least it was until the NSA released Ghidra - I haven't tried it to know.


I feel Binary Ninja (closed source) is kicking both their asses in terms of UI and API. Ghidra feels really dated to me. IDA is incredibly expensive. Another open source alternative would be radare.

ManyCam - software that creates a virtual webcam on Windows and thus allows one to:

- use one physical webcam in multiple apps simultaneously

- switch which physical webcam software is using seamlessly

- add live video effects

- use a static image or video file as the webcam source

(If there is something like this already, then I have missed it!)

OBS Studio has a plugin that enables virtual webcam output on windows. I’ve used it to create a more reliable webcam output from Blackmagic capture cards, as not all software likes to recognize the included webcam driver.


I've been doing a lot of RGBd scanner stuff in the last few years. "Volumetric Video" as some people call it. The Intel RealSense platform has been a boon and the new Kinect with Linux SDK is cool but with some of the things I've been trying to do to build composite scenes from multiple devices or recordings I hit a wall that could be summed up as lack of virtual webcam support. I haven't hacked on OBS much but have used it quite a bit. This looks like a fantastic example to investigate for useful patterns to leverage.

Thanks for sharing!

There are some projects that have solutions, but not great ones. My definition of great is something that people with very little technical knowledge can set up themselves, correctly and securely. This is based on my experience, trying to show non technical people how to self host some things.

- File, email self hosted and e2e encryption has Nextcloud, but only technical people can set it up. There should be a happy-clicky thing that non technical people could set up and it would force them to do it the right way, because the right way is the easy way. By happy-clicky, I mean, they create an account on any VPS provider, then click "add service", say how big to let it scale to, define what domain name to use and they are done.

- Web based chat servers that scale. Again, there are web front-ends, like Convos and TheLounge you can put in front of IRCD, but non technical people don't have the patience to set up IRC networks and put web front-ends on them. If there was a happy-clicky solution that used RPC over HTTPS or something to negotiate clusters and all the person has to do is point DNS to it, then more people would self host chat.

- File sharing. If there was something lighter weight than NextCloud that could auto-scale in any VPS provider and could be deployed from each VPS provider, then more people would self host. I almost wrote something like this out of necessity but so many people were using dropbox, I abandoned it.

In summary, I think the gap that needs to be filled is to have more projects that integrate into VPS providers (by the VPS provider) and be part of their VM deployment system, so that anyone can deploy them easily. Maybe there could even be a business model around integrating 3rd party services into each of the VPS providers, following some non vendor specific standard, that all the VPS providers could set up. Linode, Vultr, AWS, Azure, Softlayer, OVH, Hetzner, Digital Ocean, etc... and no code specific to any of them. All of them should have a standard API that services can be integrated into and then easily deployed securely and correctly by less than technical people.

> Web based chat servers that scale.

Riot is nice. https://about.riot.im/

Mozilla just adopted it for corporate communications. https://matrix.org/blog/2019/12/19/welcoming-mozilla-to-matr...

> There should be a happy-clicky thing that non technical people could set up and it would force them to do it the right way, because the right way is the easy way.

Absolutely! There should be a default configuration path that is easily accessible. That is to say, the non technical user can basically just click Install and answer maybe one question and everything else is automatic with good defaults. Any additional choice will just cause pain, because non technical people won't have the knowledge to make informed choices.

> By happy-clicky, I mean, they create an account on any VPS provider, then click "add service", say how big to let it scale to, define what domain name to use and they are done.

This is crazy if we're talking about non technical users. A non technical user won't know what a VPS even is. They won't know what a service is or why they should add one. They won't know what scale means. Is it the one in the bathroom? What's a domain name?

Supporting federation of hosting with various VPS providers can be useful for advanced technical users but any mention of it should be avoided for a non technical audiance. There has to be a sane default choice made already for all these questions.

Maybe just ask how big they want their mailbox to be with estimated monthly costs at each size? That will match up to the experience of buying things on the internet. Give a way to increase the size later and make clear they can do it and it should feel like a pretty safe question to ask.

I'm surprised no one has said "PowerPoint" yet. LibreOffice and Google Slides are nowhere close. Animations, theming, diagramming tools... I run an Ubuntu laptop and have been missing PowerPoint so much I tried to get a Windows VM for it. Couldn't get graphics support in VirtualBox working correctly :(

I find PowerPoint to be the most easily replaceable program in the Office suite because effective presentations do not depend on cool animations or themes to get the message accross. The best presentations I've seen have had black text on a plain white background with clear and precise language. Either that or presentations that only consist of images or diagrams and no text.

An open source API compatible alternative to CUDA / CUDNN would be great. Nvidia owns the deep learning ecosystem due to CUDNN.

A Lego-CAD tool for touchscreens i.e. Android tablets. I've used LeoCAD on Linux, which isn't bad but finding parts is a nightmare. And the existing non-OSS alternative on Android, Draw Bricks, doesn't support many special bricks like those from Simple Machines.

It's harder to names ones that do, really. It's easy to find some "alternative" to most famous software packets, but despite people repeatedly naming all the same programs (known to pretty much anyone interested anyways), none of them can replace, say, photoshop.

So, out of my head (and, yeah, all of them have "alternatives" no serious user would ever switch to):

Ableton Live

Adobe Photoshop

Adobe Premiere


Microsoft Office (Excel in particular)

Google Calendar (self-hosted)

VisualStudio of Jetbrains IDEs

> Jetbrains IDEs

The Community Edition of IntelliJ, at least, from which all the others derive (I believe) is open source.


But you'll still spend money on PhpStorm (or whatever) and for a good reason. Besides, community edition very much does have open source alternatives: I cannot think of a reason it couldn't be replaces by, say, Eclipse. So it doesn't really mean anything.

Re: Photoshop in particular, the better question might be "What alternatives are there to Photoshop _for a specific task or workflow_?"

Photoshop does 3D modeling, animation, photo retouching, RAW processing, prepress, vector drawing, typography, and automation _before_ adding functionality that exists only in PS-compatible plugins. The component tasks all have alternatives, but nothing does all of those things in a unified interface, and _that's_ the feature where there's no real OSS alternative.

(Although I'm tempted to say "Blender does" just to see what would happen.)

It's useless verbalism. Like in that koan, where a bunch of monks were asked to describe a jug, you can use all the words in attempt to describe what Photoshop does, but the point is, if you use Photoshop for the tasks most of professional users use it — which is retouching/design, because despite many people indeed use it for drawing, if you would talk about drawing you'd compare things to SAI/Kita instead — you most likely can not replace Photoshop by anything else without losing productivity. Why you cannot exactly do that would be a little different for every user, and that's pretty much the point — there is a thousand different things it can do, and most of them are crucial to some people, but useless to others. And something like Gimp having all of them but one crucial thing just doesn't cut it — you simply won't switch, despite it costing you significant amount of money. Because either you can work, or you cannot. And verbally specifying why is almost as much of work for Photoshop developers, as actually implementing it in code is.

> Adobe Photoshop

They’re not open source, but quite a few graphic designers are switching from Adobe products like Photoshop and Illustrator to Affinity products like Photo and Designer. So Adobe is open to competitors, but they have to be very well executed (Affinity products are well-executed).

Also, it’s my opinion that (open-source) Inkscape is slowly closing in on Adobe Illustrator (and Affinity Designer). Not there yet, by any measure, but on its way.

Google Desktop Search (it is dead now anyway). Was brilliant while it lasted.

There were some other alternatives as well but I think GDS starved them to death before Google got bored and killed GDS. (Please le me know if there are good alternatives, free/paid/open source, everything is interesting as long as they fo the same things GDS did and can convince me that they don't upload my data.)

I personally use an app called Everything[1] since I moved to win10. Win10's search indexing seems to be trash and its tendency to prioritize web results over desktop results is infuriating. Everything is good for finding something tucked away on your hard drive(s), is dead simple to use (give it a few minutes the first time around to index everything, then just search). I wish I could replace the existing Cortana with it or something else rather than opening a different app, but alas When in Windows, do as Microsoft demands.

[1] https://www.voidtools.com/

It's amusing how simple Everything is: it just searches the file database in Windows by name. It doesn't search file contents. I am not sure why this isn't the way Windows search works.

Combine this with Wox Launcher and you can find any file in seconds with a few key strokes.


I use Everything all day every day and it's brilliant at what it does. However, it's not Google Desktop Search, which I sorely miss...

X1 is pretty great https://www.x1.com/ No affiliation but I run this on several big workstations and it “just works” , it’s not free but I like that it works locally and doesn’t seem to choke with tons of files (and maybe 40GB of emails)

everything is a windows desktop search engine

you can use docfetcher for a full content indexing of your files like pdf or doc

Ableton Live and/or Bitwig Studio

I don't think anything comes even remotely close to the level of productivity and rapid experimentation / prototyping these DAWs can bring to the table.

It's not quite the same thing, but VCV Rack is making incredible and rapid progress into becoming a fully fledged DAW. I find myself using Ableton less and less and Rack more and more. Check it out!

Yes, I'm aware of VCV Rack and it is an amazing open source project. I use Bitwig Studio though, and having The Grid there (which is Bitwig's own modular environment, introduced in v3) is just too convenient to use another one next to it.

As a developer who is getting into the computer hardware tinkering / desktop building hobbies it is very surprising to find an absence of open source alternatives to the popular computer hardware info / benchmarking / stress testing tools used by the community, for the PC / x86 platform at least. Popular hardware info tools like CPU-Z, GPU-Z, HWMonitors are all closed sourced, and benchmarking tools like Cinebench as well.

The only open source alternative I was able to find was CPU-X, an alternative to CPU-Z:


Another example is I recently got interested in purchasing second hand GPUs and most of the cards found online would have their vbios modded for crypto mining, and to restore to a default bios most people would use the ATIFlash / NVFlash utilities from TechPowerUp. I got interested in how such a utility would work for modern GPUs and to no avail, I could not find any open source tools that would demonstrate the capabilities of these tools

A good reason why some of the benchmarking software is closed source is because it makes it harder for vendors to design ways to circumvent the point of the tests (which is often to test the speed of the hardware).

To me that sounds like just another flavor of security through obscurity, as some vendors will undoubtedly get their hands on the information since the stakes are so high, which defeats the entire line of reasoning. If the source was public, at least the playing field would be level.

Uber/Seamless/Postmates/Airbnb or any other middleman service. There's no reason why they should be getting away with extracting 30-40% of the revenue for facilitating a simple transaction.

I think this is something that seems reasonable at first, but in practice would get incredibly unwieldy. There is much more to what they do than connect buyers and sellers. They also resolve conflicts, navigate different laws in countless locales, and handle payments/chargebacks to name a few.

These companies are also taking a giant cut but still losing money. Granted they are spending money on things that an open source alternative wouldn't necessarily spend money on, but I don't think very many of them are anywhere close to being profitable even without the extra spending.

In some cases they did pave the way and "resolve" legal challenges, which makes it a lot easier for an open platform to come in and take over.

All of these companies are following the ridiculous 0 to 1 monopoly model of growth and are wasting a ton of money trying to capture any market that they can get their hands on. It's not sustainable and the gig workers are paying the price. There's no doubt that they're providing a valuable service that could have spurred growth for the middle class, but instead they're using VC money to undercut existing businesses in hope of building the next Google.

And despite all that they’re still unprofitable. How would this be feasible as an open source project?

Because they're blowing insane amounts of money fueling unsustainable growth to satisfy their investors. This requires burning cash on user acquisition and hiring thousands of engineers to solve problems that they didn't need to have.

Craiglist is handling as much traffic as all of them with around 50 employees.

Doesn’t this ignore all the regulatory hurdles these companies have had to deal with to be able to be that middleman? Uber, for example, has done a whole lot of work, not all legal, to get cities to agree to let them operate. I suspect that a few kids in a garage trying to be the next Uber are going to end up stumped when cities tell them no (and they won’t have the lobbying power to make cities reconsider)

I'm saying that we could use an open alternative for existing services, not that an open solution should have been first. Uber spent a lot on lawyers and broke a lot of laws to clear the hurdles, making it much easier for someone to come in and provide a similar service at a fraction of the cost.

There's no reason why someone building an open solution couldn't work with the cities and get their endorsement.

And yet with taking 30-40% of revenue (as you claim) Uber is still running at a loss.

Uber and Lyft take 35-40% of each ride, that's the number that multiple drivers have told me and this article confirms it https://www.businessinsider.com/uber-and-lyft-take-rates-hig...

I also know a few people at food delivery companies and they all take around 35% of each order.

Sure, but my point stands - 35-40% is not enough to turn a profit for them.

That's because they're buying growth. Their last quarter revenue was almost $4 billion, you can definitely serve millions of daily rides for way less than that.

My point is that you could have an open source version of these services that could be managed by local governments or not for profits.

> That's because they're buying growth.

That is the idea I guess.

> Their last quarter revenue was almost $4 billion, you can definitely serve millions of daily rides for way less than that.

How do you calculate this? Sure if you were just you with car, you could - but not sure this is exactly a workable business model without uber - if it was then people would presumably not use uber.

> My point is that you could have an open source version of these services that could be managed by local governments or not for profits.

You could have open source versions - but the source code is a small part of the operation - and I'm not sure why I would want to government to run it - or why people should not be allowed to profit from it. If the issue is that workers are being exploiter maybe a better option is to see if there is some reasonable regulation to be put in place or why there is such low demand relative to the supply of labour.

> How do you calculate this? Sure if you were just you with car, you could - but not sure this is exactly a workable business model without uber - if it was then people would presumably not use uber.

I'm not a 100% sure if I understand your question. What I meant was that you could run a marketplace web service like uber or airbnb for way less than they're spending now. The variable costs of processing those transactions approach 0 at scale, also would be practically free if someone wanted to host it themselves for their small town.

> You could have open source versions - but the source code is a small part of the operation - and I'm not sure why I would want to government to run it - or why people should not be allowed to profit from it. If the issue is that workers are being exploiter maybe a better option is to see if there is some reasonable regulation to be put in place or why there is such low demand relative to the supply of labour.

Yeah I agree. The OP asked about a good open source alternative and I think that this could work as an open source project and be deployed per town (or as a decentralized application).

Despite how great Inkscape is, it's no where near Adobe Illustrator or Affinity Designer (and you can't run them on WINE either).

Illustrator is such an amazing tool. It's my go to when I need to get an idea out of my notebooks into the digital realm. Website flats, sketching turns of an idea to get into blender, general art.

I love the work that the Inkscape team has done and it does do some stuff that illustrator doesn't do easily but it's no where near a replacement for illustrator. I haven't looked but I suspect it's not in their mission statement to be a replacement for Illustrator.

Hats off to Adobe for producing the world class tools they produce so consistently for basically the length of my adult life but man I think it would be good if there was something that was aiming to be an open source Illustrator alternative.

Hotel PMS & operation.

We pay roughly $7000 per year. If I want api access it cost additional $700 per year. It took them 9 months to transfer the licence when I bought the property.

> We pay roughly $7000 per year.

Erm, nobody is going to jump up and down to replace that software if that's all you have to pay.

You can't get people to work on replacing Cadence, and that's a license that is on the order of $1 million per person per year.

I see some ~100 products at https://www.cadence.com/en_US/home/tools/tools-a-z.html -- which one(s) did you have in mind?

Virtuoso is the VLSI layout editor/schematic toolset that is egregiously expensive. However, I believe that Allegro (the PCB suite) is above $100K per person per year.

A good example at the price range cited is ballroom dance competition software. Dick Douglas created it a number of years ago and people gripe what it costs (I think $1000 per comp or so) and the fact that it hasn't been actively developed over the years. It would be very useful as open source software--except that nobody seems to have the knowledge of what is needed (Dick and his wife Liz have high domain knowledge of ballroom scoring and competitions) and nobody is willing to take on the training/customer support task.

This is, in my opinion, where software, in general, breaks down. Everybody wants to be the developer of scalable software that doesn't scale support costs--unfortunately, that's the exception, not the rule.

(Link to the ballroom software: https://www.douglassassociates.com/)

I worked for a company that developed mobile apps for big companies. One of those apps was for a Hotel chain, and the developers complained that the PMS API was _horrible_. In order to make the app usable, the company had to develop a backend to cache everything the PMS returned (mostly was static content).

I'm curious, what is "PMS" in this context? Would you kindly explain a tiny bit more?

Many ERP systems do this and are open source, look at odoo for example

Do you have an email address I can get in touch with you on?

My dad aches after a good and powerful typesetting tool (for less technical users than *TeX is aimed at), in the vein of the Ventura Publisher of old. Nowadays it seems all about Adobe Indesign but the workflows seem inferior for many book-type workloads. Scribus needs a lot of help.

I wasn't able to find an open source alternative to Newrelic APM for ruby.

Perforce is also something that's very useful for game development but relatively expensive.

That is really True. The APM world does not have any good open source alternative, Elastic APM is ok, but I think it is open core, not open source. Sentry is trying to build one, but maybe that will not be also OSI approved license.

Why’s perforce not replaceable by git?

Perforce has a locking mechanism for files, which is important for the large binary objects that are used in game development. Git doesn't really have that concept, so it requires more out of band communication to make it work for that use case.

Git LFS might handle this, but it's just not something that Perforce shops have to even think about, train their people on, etc. It's just "there" and there's somebody that they can call and yell at if things go wrong.

> Git doesn't really have that concept

Of locking files? Sure it does; if two people modify the same piece of code, then there will be a merge conflict, and whoever's doing the merge will have the opportunity to reconcile those two versions. It's like a lock, but you don't have to think about it / explicitly lock and unlock the object you're editing. Combine this with rebasing (git-speak for "switch to the branch into which I want to merge and then try applying all the changes from my branch") and you end up with a pretty coherent idea of what changed and in what order.

Having used both branch-oriented (like Git) and locking-oriented (not Perforce specifically, but my current dayjob involves very similar version control schemes), I vastly prefer the former. Less ceremony around doing things in parallel, and less risk of development deadlocks (e.g. Alice locked A.cpp for editing, Bob locked B.dds for editing, Alice now wants to edit B.dds, Bob now wants to edit A.cpp, now Alice will have to revert her lock on A.cpp, wait for Bob to do everything he needs to do, then relock A.cpp and redo her changes all over again (probably also having to debug new things because of new bits and pieces Bob added) - or Bob will have to do so for B.dds - and cue fistfight in the breakroom).


That all being said, binary files are indeed a weak spot for Git, so if you really do want to version control your textures and models and sounds and such, then sure, perhaps a different VCS tailored for that use-case would be more ideal. In my experience, though, that tends to be an anti-pattern; generally better to keep code and assets separate (I'm well aware that tools/engines like e.g. Unity don't play the slightest bit nicely with that separation), using separate version control systems tailored to the specific content.

Merge conflicts are definitely not the same thing as file locking. At the point where you're getting a merge conflict, it's too late. How are you going to resolve conflicts in an audio file?

File locking is a way to communicate in advance that nobody should attempt to make changes to a particular file until the lock is cleared. Merge conflicts are communication in arrears (so to speak) and at that point, effort has already been wasted by at least one person.

> How are you going to resolve conflicts in an audio file?

By choosing one and discarding the other, or by creating a new audio file that incorporates both changes, just like one would do for any other file.

While I don't know if this exists, there's nothing theoretically preventing the creation of a diffing/patching tool for audio/video files, detecting insertions/deletions/replacements (perhaps by timestamp/frame rather than by line) the same way `diff` does for text.

> at that point, effort has already been wasted by at least one person.

A file lock doesn't prevent that time waste; there's nothing stopping someone from immediately overwriting it as soon as the first editor commits/releases the lock (in which case the first edit was a complete waste of time).

I don't quite think you understand how perforce works.

Locking the file is a signal not to work on it because someone else is modifying it. There isn't currently software that supports semantic merging of audio or video, so perforce says "someone is recoloring the asset, don't change the animation until they're done, or you'll just have to do the work again".

In the meantime, perforce prevents you from checking the file out. So you have to explicitly and clearly bypass your source control to do what you suggest, at which point someone rightfully yells at you.

> Locking the file is a signal not to work on it because someone else is modifying it

I know how file locking works. Like I've said before, my day job involves using a locking-based version control system. My disdain for locking-based version control comes specifically from having to put up with it instead of using something sane like Git.

> So you have to explicitly and clearly bypass your source control to do what you suggest, at which point someone rightfully yells at you.

And yet that will inevitably happen anyway, because someone's breathing down your neck to get that animation done and won't take "well I'm waiting for Bob to finish recoloring first" as an answer. Cue the aforementioned fistfight over whether Alice's animation or Bob's recoloring can happen first.

Or it'll inevitably happen due to the aforementioned risk of deadlock (Alice is tweaking animations in a different order than Bob is tweaking textures, and thus run into a situation where both are waiting on the other to release locks on files; cue fistfight).

I've seen both cases happen repeatedly. All of those cases would've been avoided had we used a version control system that used branches and merges instead of locks and unlocks.

> because someone's breathing down your neck to get that animation done and won't take "well I'm waiting for Bob to finish recoloring first" as an answer

As it happens, that's exactly the answer you're supposed to give. It's not like game devs have any shortage of things to work on at any particular time.

> All of those cases would've been avoided had we used a version control system that used branches and merges instead of locks and unlocks.

I don't think you're thinking this through all the way. If I have 5 different branches where textureA.png got modified, which one is the right one to end up with after everything is merged? Who is going to have to re-do work? Branches do not solve that problem, and without out of band communication, that problem is made significantly worse than if those changes were done in sequence (which is what file locking enforces).

> I've seen both cases happen repeatedly. All of those cases would've been avoided had we used a version control system that used branches and merges instead of locks and unlocks.

Well no, the failure modes would be different, but all of those things would still cause problems with branching and merging, mostly because you can't actually merge binary artifacts, only rebase.

And in a world where you can only rebase, locking actually makes sense.

> all of those things would still cause problems with branching and merging

The deadlock most certainly would not. One would get rebased on top of the other, in the worst case.

(In the best case, Alice and Bob would both be committing/pushing to their respective branches early and often, and could therefore look at each others' branches and see what changed between them; if you really want to emulate locking, you could do so pretty straightforwardly by checking if there are any changes to that file in commits outside of your own branch's commit history, and it should be doable to write automated tooling to that effect. All the "benefits" of locking without getting in the way of anything.)

> And in a world where you can only rebase, locking actually makes sense.

Even in a world where you can only rebase, locking is far more of a hindrance than a benefit, for the reasons already outlined.

A lock prevents you from opening it to edit in the first place, without warnings that "so and so user is currently editing this, are you sure you want to open this as read-only?". This reduces accidental time waste (and computer systems shouldn't try to protect people from deliberately wasting their own time, because they probably aren't).

Sometimes it is desirable to not have optimistic locking like git. Often you want to signal that you don't want a file/asset modified for a period.

I think we're gonna have to agree to disagree on that. I've found that locking a file from any changes entirely almost always causes more problems than it ostensibly solves, and is a massive impediment to productivity on any team larger than a single person. The vast majority of the time it's entirely unnecessary anyway.

Absolutely agree with you when it comes to textual/structural information where merge conflicts can be solved easily. But for binary like formats, I feel often there is no way to resolve a conflict.

Yes, but you probably don't make a habit of storing music or video (or weird proprietary binary animation formats) that people are modifying in git.

Indeed I do not. If game developers (and/or game engine developers; looking at you, Unity3D...) showed similar restraint, then they likely wouldn't feel the need to tie themselves to 90's-esque version control schemes.

The game industry has a completely different way of working compared to other tech fields. Most of their practices seem old fashioned, or anti-patterns, etc. if you look at them from an outside point of view.

But they're trying to do something very hard: control both quality and deadline. It's not like an open source or enterprise IT project. The game has to be finished, good, by a given date. To do that they do many things, including slaughtering sacred cows about how things are supposed to be done. If hard locking saves them time by avoiding wasted efforts, by artists who are probably over-worked already, then what's the problem?

> But they're trying to do something very hard: control both quality and deadline.

Do you believe other tech fields are not trying to do the same exact thing? Do you believe that enterprise IT projects are somehow less beholden to both quality and deadlines than video games?

Controlling both quality and deadlines is what literally every (professional) software development project should be doing. The implication that game developers are somehow better about or more cognizant of this (let alone specifically because of broken development workflows) is pretty rich considering how frequently big-budget video games end up in development hell (see also: Duke Nukem Forever) and/or end up riddled with bugs (see also: literally everything Bethesda's released in the last decade or so).

(Not saying that enterprise IT is necessarily better in either regard, of course; bugs and delays are inevitable as software complexity grows, be it an RPG or an ERP...)

> If hard locking saves them time

It doesn't save time in aggregate, though. It maybe saves time for one specific corner case (conflicting edits on binary files) at the expense of slowing down everything else.

And if you're at the point where "conflicting edits on binary files" is no longer a corner case, then that betrays at least one of two dysfunctions:

- You're using some sort of container format instead of sanely keeping things split into separate texture/model/animation/normal/behavior/etc. files (and then - if the amalgamated container file is indeed necessary - combining it as part of the build process). If you're really running into a lot of cases where multiple people are trying to edit the exact same normal map at the exact same time, then...

- You've got a communications breakdown somewhere. You can band-aid over that with file locking, but that still doesn't address the issue of two people trying to independently edit something in the first place.

You're not really going to get away from large binary files in game development. They need to be version controlled somehow. Adding more layers of indirection for how that actually happens is just kicking merge vs file locking can down the road.

Additionally, you have artists and level designers working on these files. These people tend to be semi-technical, and confronting them with the full details of git is usually met with a lot of resistance.

I know some smaller studios that use git to some extent, and they tend to struggle with it on occasion - again, primarily in the art & design departments, mainly with binary files. All the larger studios and some of the smaller ones seem to use perforce. Publisher-owned multinationals might have their own proprietary systems, I don’t have any insider information there.

In any case, people who aren’t familiar with the requirements of gamedev like to argue about this. It’s like proponents of forks arguing with someone trying to eat soup with a spoon.

> You're not really going to get away from large binary files in game development. They need to be version controlled somehow.

Yes, but if they really can't be split up into smaller components, then there's always the option of using a different repository and VCS specifically for binary assets. Yes, it's kicking the can down the road, but at least it's kicking that can away from the actual code.

From what I've seen, perforce is better for storing binary intermediates.

Git doesn't work very well with partial or subfolder checkouts which is something you would need if you want to store intermediates. In games intermediates can take multiple hours to build (like maps). Building the game from scratch every commit like it's usually done with git CI tooling does not work very well.

We also ran into wanting to give modders access to maps and materials but not to game code.

- HiDPI support in desktops

Open source makes it hard. Too many choices. Apple and Microsoft have an army and can decide an API from the top down and have an organization put resources into making a consistent experience. Windows 10 and macOS have absolutely beautiful scaling.

On Linux, fractional scaling crashes often. Wayland and Xorg having to handle it separately adds further fragmentation.

PopOS is nice: https://system76.com/pop.

- Mail clients with streamlined UI's:

Geary is as close as you can get to Airmail (macOS) and Mailbird (Windows)

- Window snapping:

Aero snap in Windows, Magnet in macOS. Gnome doesn't want to do quarter scaling, despite it being a common sense request, and the extensions don't like gTile don't use the same behavior at all - so basically it doesn't exist.

(Correction, Gnome seems open to doing it but needs help? https://www.reddit.com/r/gnome/comments/b7f3rl/any_future_pl...)

On the other hand, Linux has amazing:

- PDF readers. Every desktop environment seems to have its own PDF reader that does a better job than any proprietary one. Okular, evince, mupdf, xpdf. Any they're lite. Zero bloat.

- Package management. Every distros package management experience and their stock beats any app store. They don't force you to login.

- Terminals. Kitty is fantastic (https://sw.kovidgoyal.net/kitty/)

- Input: ibus and fcitx

- Access / Installing shared libraries and headers. No need to download xcode or grab Visual C++

- Not open source, but Spotify, Chrome, Slack, Firefox, Steam all work good

I feel Teamviewer needs an open-source alternative.

Many(all?) of the current remote access tools are nowhere near as simple/easy to use as Teamviewer, hence it continued popularity.

Salesforce CRM? Hosted CRM, with software for customization, built in database, all that. Although I haven't looked around at alternatives.

photoshop. Gimp has the functionalities, but its usability is poor.

One time I started working on one open source alternative, but one big problem I found was that their PSD file documentation was incorrect at a few places, and it lags behind what is currently available.

And though Photopea[0] is not open source, it can mostly get things done for my minimal use-cases.

[0] https://www.photopea.com/

Affinity Photo. https://affinity.serif.com/photo/

OK, not open source! but single-purchase at a reasonable price. Which reduces motivation for an OS replacement.

Give a shot at krita it's good for digital raster art. Not for image processing.

Here's my list:

* Mood tracking software (e.g. Daylio [1]). Put owners in charge of their data for easy export and sharing

* Paper craft unfolding (e.g. Pepakura). Allow for 'automagic' unfolding but also user selectable joining/splitting of triangular islands.

* Machine learning oriented games (e.g. GWAP [3] (now defunct)). Open source games that allow for open data collection that can then be fed back into the community for machine learning.

* I've heard architecture software is abysmal and has no open source alternatives

* In browser CAD (e.g. OnShape [4]). In browser lowers the bar to accessibility.

* Photogrammetry/3d Scanning. There might be some open source alternatives but nothing that is as easily accessible as the David Scanner [5].

* Projection mapping. Again, there might be some open source alternatives but nothing that I've seen where I can buy a 'kit' with intuitive software to get up and running quickly (though I haven't looked too much in depth).

* Ultrasound machine. There's echOpen [6] but I don't know the status of that project.

* DNA sequencer. There was the Polonator [7] but it never became 'open source' and eventually died.


[1] http://daylio.webflow.io/

[2] https://tamasoft.co.jp/pepakura-en/

[3] https://en.wikipedia.org/wiki/Human-based_computation_game

[4] https://www.onshape.com/

[5] https://www8.hp.com/us/en/campaign/3Dscanner/overview.html?j...

[6] http://www.echopen.org/

[7] http://arep.med.harvard.edu/Polonator/

Google Picasa - A photo organizer that works offline, and lets you run facial recognition on your photos to organize and tag them.

It has a bug, and sometimes gets labels swapped if you have more than one in a photo, which then metastasizes to corrupt the samples used to compare new photos against.

It was awesome, and now it's gone.

Open-source data storage is full of gaps compared to its commercial/bespoke brethren. To give just one example, consider multi-tenancy/QoS. Very few OSS distributed filesystems or object stores even seem to have heard of the concept, and those few barely scratch the surface.

Can you give a better example of what you mean? There are plenty of multi-tenancy file systems. Do you mean QoS by user or over the network?

> There are plenty of multi-tenancy file systems

Name one. What I mean by multi-tenant is that the namespace, security space, capacity quota and I/O quota are fully isolated and managed at the storage-system API, not via other facilities such as cgroups which aren't even applicable beyond a single-host level. Each tenant gets something that looks like a private service with predictable limits (appropriate for an SLA) regardless of what other tenants are doing, despite being on shared infrastructure. Commercial vendors like NetApp and all the "hyperconverged" crowd have support for this kind of isolation at the cluster level, as do some bespoke storage systems such as the one I work on at Facebook, but in the open-source world? Nada.

Ok sure in that context I can’t think of any. The closest thing I know of (with a limited understanding of what you mean) is NFS4.2.

It is about existing open source projects. It would be better to have some idea about new open source projects that are not started yet but needed by the community.

Music production software. Any of the proprietary options is better than the best open source DAW like Audacity or Ardour. Even Reaper gets enough paying customers to have a good combo notation editor/piano roll in it. Open source has produced some good periphery stuff like Helm and MuseScore. LMMS is the best of the bunch when it comes to open source DAWs.

That's not to say the open source stuff is bad. I get that they don't have the resources to do as much UX refinement as the others. If you can't afford the proprietary stuff or prefer open source, then you can get by. The actual audio handling systems inside are probably world class.

Qualitative Data Analysis systems. RQDA and QualCoder are under development, but the pace is generally slow and many features are buggy and remain untested on common operating systems. Some products out there on the market are better than others (I use MaxQDA) but come at a hefty price, even with a student discount.

Also transcription software. Not voice recognition, but software that assists with manual transcription. I'm amazed that no open source alternative to F5 exists out there, since it's a relatively simple mechanism (keyboard shortcuts to denote speaker, paste timestamp, include annotations, etc and ability spool back to rewind 2 seconds).

Hi, qualcoder developer here. Yes qualcoder has some bugs, and limited testing on Mac OS or Windows for now. However, thanks for the advice regards manual transcription with key shortcuts, I will try and incorporate that idea. There is another free qual web-based product called Taguette www.taguette.org which you might be interested in.

Wouldn't creating a plugin for the likes of VLC or contributing directly to OpenShot be a better idea?

OneNote. There is only Xournal(pp) with a much smaller featureset and more bugs.

Adobe Acrobat. Nothing in the open-source world has the same share of easiness in editing PDF files. (Sorry, Okular.) Also, the ability to use the scanner to produce multipage PDF files is unrivalled, IMO.

Don't try to copy a closed-source project. Instead, invent something completely new (something that's 10x better than what it might "replace"), and make it open-source.

... and half your potential user base will say "what the hell is this crap, it is totally unintuitive and doesn't do the things i need it to" ... sigh.

Focus on the other half.

She's busy.

A real alternative to Outlook/Exchange/Active Directory.

Video editing. Adobe Premiere Pro or Final Cut Pro. I guess the price might not be that high to justify, but still I have not seen anything like these as open source.

checkout "davinci resolve", "kdenlive"

Clipboard manager

Given the hugely abstract data driven world we live in and the inability of the human brain to have long term cache it should be important.

Open source versions exist but they are simply not up to scratch to paid versions, they are simply crap to be honest. Most paid versions have demo modes to see whats good but even the paid versions could do with improvements.

Don't get bogged down in making it work online. Keep it simple, runs locally. Windows or maybe if possible Android.

Out of curiosity, what do you need out of a clipboard manager that Ditto (Windows) or CopyQ (cross-platform) don't offer?

Object databases. Strictly speaking, Versant object database by Actian (iirc) is the only long standing player and the only actually working implementation.

YES! my first job used an in-house object database, and it was magical (though everyone else seemed to hate it.. I think they were just using it wrong.)

It had UML schema, Paxos replication, fine-grained transactions, cardinality checking, reversible upgrades, etc. Application code ran in-process with the database, and it made it really eady to do anything.

I'd love to contribute to an open-source version but probably can't since I've read its code.

P.S. It fell out of favor because the systems that used it tended to be monoliths that did too much to scale well. The "right way to do it," IMHO is to build a central stateful brain with it, kick all asynchronous work out to stateless worker microservices and read from active secondaries. If the brain's only job is to mutate state by applying business logic, you can scale quite far.

FPGA tools, with few exceptions (IceStorm, SymbiFlow)

Yeah, EDA (https://en.wikipedia.org/wiki/Electronic_design_automation) is way behind.

There are VHDL and some Verilog but from what (little) I understand, the industry has moved to SystemVerilog and there Free (as in Speech) tools haven't caught up.

Here are two projects which are doable, I think:

- Paint.net: freeware windows mspaint replacement. Lightweight and simple UI, but powerful features and extensions system. I hate having to boot up GIMP just for editing a screenshot or something, but no other decent libre paint alternative exists

- SketchUp: this is to blender what paint.net is to GIMP. Super easy and intuitive to create simple models. A joy to use.

There is an open source clone of Paint.net called Pinta, based on the original source code of Paint.net.

It's not actively developed anymore, though.

I think businesses with complicated Excel spreadsheets using macros written in VBA may be reluctant to switch to an open source spreadsheet.

Sketch, Figma

The operating system/firmware which runs on Sonos devices.

There was an link on the front page yesterday about “recycle mode” bricking devices to prevent resale. I’m now slightly disgusted that I own one.

Sonos hardware has great speakers and great sound, but the software is flaky (especially near microwave ovens) and requires a connection to Sonos servers at all times.

Graphics and Design:

* Photoshop, GIMP is great but still a bit rough.

* Illustrator, Inkscape is great, but rough.

* Maya, Cinema4D: Blender is technically pretty good, UX is improving but still clunky. Even something like Silo would be pretty sweet (a fairly simple, pure 3d modeling program)

* Video editing: Is there really anything good out there? Last I tried the programs just straight out crashed.

One such program is Everett Kaser Software's Hero Mesh puzzle game engine. I have actually started writing Free Hero Mesh for this purpose, though (but it is incomplete).

Another is a good alternative to the Microsoft BASIC compiler for DOS. Although there are other BASIC compilers, they miss many things and don't work with real mode.

DJ software! AFAICT Mixxx is the strongest player in this space, and it doesn't hold a candle to Serato/Traktor.

Dual pane file manager with GUI, in other words: a proper alternative to Total Commander on Linux. Fast, simple UI, has all required functionality built in and can be extended using plugins. Krusader is probably closest one, but still has few minor paper cut issues.

Ranger is great. https://ranger.github.io/

It supports single- and multi-pane modes.


Midnight commander maybe?;-)

Semi joke. It is quite a nice file manager. Terminal based though. No plugins, but batteries included.

nnn with dvtm - https://github.com/jarun/nnn

Even without dvtm you can have mutiple contexts. nnn is extremely fast with tons of features. Many plugins are available already and it's easy to add new ones.

Double Commander?

GUI clients for SVN. There are plenty for git, but when I started working at an SVN company I had no luck finding a free one. Ended up paying for SmartSVN, which is okay but still not as good as even some of the OSS git clients.

Find out if a git-svn bridge would help you. Back in the days, if you're an Emacs guy - I've found magit-svn to be excellent.

Have you tried TortoiseSVN? A lot of IDE's have an SVN interface - Appcode, IntelliJ, Xcode, Delphi etc

I'm not sure how similar it is, but TortoiseHg is the best version control GUI I've used

There is no good FOSS or even just open source RIS (Radiology Information System).

Video chat like Paltalk and CamFrog.

Specifically, one that will let you run your own server (Camfrog no longer allows this) and others may connect to it through a public directory or via direct IP address.

With unlimited camera feeds able to be opened.

What do people use for self service embedded analytics in SaaS applications?

What are the closed source softwares that are used for this purpose?

- pdf editor

I've used xournal for rudimentary edits like preparing tax forms.

What’s your scope? One obvious answer is Google search.

kdb+ time series database. An installation can cost >150,000 dollars per year... for a 300 kB executable (yes, kilobytes). And it's worth it.

SAP, other annoying enterprise software.

Odoo is good alternative

Applications are open for YC Summer 2021

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact