DE version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
43% Positive
Analyzed from 4062 words in the discussion.
Trending Topics
#open#microsoft#office#format#code#formats#standard#software#document#proprietary

Discussion (119 Comments)Read Original on HackerNews
Competitive products like Google Docs, WPS or Euro Office solve proprietary file format problem very nicely. Microsoft themselves had to solve that exact problem for Lotus 1-2-3.
Proprietary file formats are an industry standard. It is the lowest resistance way to deliver features and you cannot blame your competitor to have more features or hidden features in their formats. ALL strongly competitive software for the desktop workstations have proprietary formats: Autodesk, Altium, Adobe, Corel, Apple. All of them serialize their featureset on their own format since it is the easiest to do. FOSS won't get the marketshare pie by complaining about it.
LibreOffice has to provide feature parity before complaining here and TDF needs to find the funding source to hire the engineers to achieve that. They need to have convincing arguments and consistently delivered features. Otherwise it will not get adopted.
Microsoft hasn't actually selling their product on the premise of proprietary file format support. They sell it with the promise of total platform integration for every single software an office needs. You not only get an office suite but IT Admin tooling integrates with the computers and the office suite, e-mail management, SSO and licensing management software and Cloud storage all in once.
To compete with the Microsoft (or Google Workspace) you need to be selling all of that at a very competitive price. Otherwise all private companies and many government departments will continue to choose Microsoft. If a change is wanted in the government, governments need to start investing Microsoft levels of money in hiring engineers.
In my company I decided we would not depend on Microsoft products. We use kSuite that offers everything MS does, ~90% cheaper. The one real problem we run into is PowerPoint decks that look different or get corrupted when used across different Office suites, including ones that are focused on Microsoft compatibility like OnlyOffice.
Proprietary formats are a clear lock-in tool, because the cost of dealing with incompatibility is higher than the cost of paying the piper. (Although me being stubborn I made claude rewrite the OOXML to behave, but that's an absurd thing to need to do!)
If open formats were the standard and could be reliably exchanged, it would remove a big reason to ever use Office products.
And even when the basic format is documented, the important details rarely are. If you're making an Office competitor you have to render fonts pixel-perfect to how Microsoft renders them, or you'll wrap lines at different places and the cascading differences will inevitably put some element like a floating image in a different location than it's meant to be, messing up the document. And yet, does Microsoft document how they render fonts in so much detail that you can code it identically? No they don't - the only detailed enough spec for that is the code itself.
Once I wrote a custom Minecraft server from scratch. The client-to-server protocol was well documented. It was straightforward to make a grid of blocks and let the player place and destroy blocks. But as soon as anything detailed enters the picture, it's game over for accuracy. When you break a block in Minecraft it turns into a "dropped item" entity, which you can pick up. The dropped item has physics. The client predicts the physics. If I didn't precisely emulate the client's physics, then the entity would glitch up and down as the client predicts it falling down and the server says it's still in its original spot, or fell down a different amount. The only detailed enough reference is the code itself.
One time I tried to write Doom for a platform, from scratch. I got the 3D BSP renderer working and could move around a space with walls. I was looking for reference for how to implement the rest of the game and didn't find it. I didn't realize you're supposed to port Doom to a platform by starting from the original Doom code and not by writing it from scratch, because the only detailed enough reference is the code itself.
One time I tried to write an N64 emulator. I downloaded all the documentation I could find and got writing. My emulator ran a large portion of Mario's startup code and then I got stuck without enough information to proceed. I didn't realize that most N64 and later emulators are ports of existing emulators because they've been battle-tested and - say it with me - the only detailed enough reference is the code itself (or a real N64 which I didn't have).
Basically working code is working code and you can never replicate it precisely without either years of work or actual copy-pasting. Even protocols designed to be reimplemented many times have inconsistency problems. Look up HTTP Request Smuggling if you haven't already. More benignly, see the controversy on JSON comments.
The innovation of PDF was that it precisely specifies the font and layout of every element of the document, trying to leave nothing to chance. There are still differences between PDFs in different viewers but they are much less important than the differences in a Word document because the PDF specifies the exact placement of every character, because Adobe knew it wouldn't be possible to rely on word-wrap algorithms being identical.
What matters to me, if I'm communicating with my government (or vice-versa), is that they only use recognised standards.
I will need a web browser, email client, document editor... but not a specific web browser, email client, document editor.
This takes effort from governments, because the vendors of all the products they consume want to try and leverage their government connection to get lock-in and thus make their products mandatory for everyone in the country.
For example, even if government developers only use Chrome browser and neglect to test on Safari, you can end up with millions of Safari or iPhone users unable to perform legally essential tasks, and have no workaround. The same is true for using proprietary office document formats, and that includes Adobe when there's a difference between PDF-as-specified versus PDF-as-implemented-in-Adobe's-proprietary-software.
The importance of standards is that they tell every vendor exactly how to conform and not-conform to the standard. Hence the standard itself has to be made be robust. Hence why a standards committee has to own it, not a proprietary vendor. If it's a proprietary format undergoing standardisation, the standardisation's job is to file off the rough edges and make it interoperable. It doesn't take some fragile code that only works in one way, and say "that's the standard". It throws out the fragile bullshit like Microsoft's broken date handling that they don't even bother to fully document in OOXML.
For comparison, a better standard and standards body (even though they have their own problems e.g. being dominated by Google) would be HTML5 and WHATWG. Everything is carefully specified so that all browser vendors can implement a standard, identically. That even includes things like word-wrapping (a small subset of document layout!), and there are test suites to catch deviations from the standard.
Most obvious when viewing PDFs in Adobe Reader versus in Chrome's built-in viewer. The former has subpixel anti-aliasing. The latter doesn't.
Microsoft is known to have a lot of inconsistencies between its spec and reality. One important part of adoption open standards formats is that when you have real interoperability and competition between consumers of the format, the spec needs to actually work. HTML and the welcome demise of Internet Explorer specific markup through real competition in the browser space is a case in point
This is the greatest misunderstanding of a programmer's job I've ever seen (by someone who apparently programs). Of course you don't write a game from scratch every time you port it to a new platform. You aren't even really supposed to be "referencing" the game code. The game code is built on a series of abstractions over the hardware. You swap in a set of abstractions for different hardware. If the game is properly encapsulated, you may not even need to touch what would be considered the "game" code rather than the engine code, or only minimally to update API boundaries.
eg.
Layer 0: Hardware
Layer 1: OS
Layer 2: DirectX
Layer 3: Engine code, has functions like Draw3D(params) which call DirectX functions
Layer 4: Game code, which calls Draw3D(params)
If you swap in OpenGL for DirectX, you simply change engine code so that Draw3D calls OpenGL instead of DirectX as appropriate, and the game code is still just happily plopping along with the exact same Draw3D calls ignorant of whether those are being served with DirectX or OpenGL. This applies all the same even if Layer 2 is a software renderer, as Doom's was. Ditto for OS layers or anything else.
If you want to reverse engineer it from scratch for learning, have at it, but why in God's name would you think that's what porting entails? And even after you understand porting is not about writing from scratch, you should understand that this has no relevance to your overall point. I'd also note that it is possible to reverse engineer a game from scratch without ever referencing the original source code -- that's called a decompilation project, it's intensive and time-consuming work, but it can be done.
Idk, the entire reason I've ever used Office was because someone gave me files I'm afraid to screw up.
Or demand a PDF and list out the things you want to change so they can change it themselves.
The formatting goes wonky or the macros stop working and you get the blame for doing something "weird" to the document everyone else managed to pass around just fine.
As much as you're doing the right thing by using open formats, you still end up looking like the incompetent employee. No good deed goes unpunished.
We didn't, and have decided to go with someone else who costs three times as much as you do. It's a bargain after the dozen internal emails back and forth, the missed deadline, and the subsequent heated discussions with you that your ODT caused. We know they aren't as good as you are.
I noticed this HN comment from four months ago and boy does it have his number:
https://news.ycombinator.com/item?id=47630474
> I'm confident the person who most wants to sabotage LibreOffice's success is Italo Vignoli. [...] Most of his blogs are about how awful OOXML (Microsoft Office's open standard) formats are [...] This is a self-sabotaging marketing approach. [...]
And now I look at who authored this article. "2026-07-17 Italo Vignoli"
When disagreeing, please reply to the argument instead of calling names. "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."
That's important because in plenty of other software - databases, OSes, compilers and binary formats, networks, etc. name your favorite CS topic, there is an open standard for it.
You can either achieve interoperability by... achieving interoperability, or by dominating market share and edging the user's action space to solely stay in your ecosystem (change the action distribution of your user) that for all intents and purposes that it "interoperates with everything" means that, "since I bought entirely into this ecosystem, I interoperate with everything".
So ultimately I agree with you, but to present it as a failure of objective engineering prowess on open source is weird. As you said yourself, it's clearly the network effects that prop the business model. And sure, gaining market share isn't a trivial task, but it's not engineering.
I think framing it in the interoperability way is healthier - because it actually provides a potential new out to work towards, rather than this weird beration double-bind that frames Microsoft's approach as The Objective Way to do things. It's not and doesn't have to be.
"Microsoft is paying more than $25 million to settle federal corruption charges involving a bribery scheme in Hungary and other foreign offices."
https://apnews.com/article/f6852284a2154ac5ab422d51495c4056
Trump government now makes bribing more useful.
https://apnews.com/article/fcpa-bribery-trump-antibribery-la...
It was only the magical atmosphere in which Microsoft and ‘tech’ must succeed that made this flat out obvious conclusion invisible.
I remember beginning writing a pandoc writer the minute it happened but some bright young brain beat me to it.
The XML if I remember, had manifold curiosa probably meant to impede other implementations, but it was real.
My impression is that his complaints, which echo those of the doc period in detail, arise from users’ failure to adopt best practices.
Maybe, but I still disagree.
What "game-changing" features are missing from document file formats (such as word processing documents or spreadsheets)?
I'd prefer that format being an open standard with wide compatibility over those new features.
They are using Microsoft formats instead of the open-source one.
I find this an odd statement. I would understand an explanation that forking was chosen on ideological grounds, but, how is development "not transparent and open" in an open source project? Sounds a bit contradictory. Plus doesn't the fact that a fully functioning fork was performed effortlessly show that the project was indeed truly transparent and open?
Im guessing cathedral rather than bazaar?
LibreOffice was a big part of the problem. Their import code was half-baked, and silently changing Arial to Liberation Sans wasn't particularly liberating, either.
In the end Word & co are nothing else like fancy browsers rendering the file's contents.
As we all know from the early days of the Interwebz, each engine renders it differently...
Always have been. It's like people have forgotten Halloween Documents.
https://en.wikipedia.org/wiki/Halloween_documents
> In discussing ways of competing with open source, Document I suggests that one reason that open source projects had been able to enter the server market is the market's use of standardized protocols. The document then suggests that this can be stopped by "extending these protocols and developing new protocols" and "de-commoditiz[ing] protocols & applications". This policy has been internally nicknamed "embrace, extend, extinguish". Document I also suggests that open source software "is long-term credible ... FUD tactics can not be used to combat it", and "Recent case studies (the Internet) provide very dramatic evidence ... that commercial quality can be achieved / exceeded by OSS projects."
https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
Its an amazing schadenfruede, and im revelling in it
I could not access it until I signed up for a Microsoft account and forced to download their authenticator app.
We use OneDrive at work, so I have all the right apps and accounts and whatnots. When I wanted to download a folder with a lot of files in it, it would regularly crap out.
There's no way to download the files as files unless you do it one by one. If you select multiple files, it produces a zip, which sometimes fails to transfer properly.
The Windows app is somewhat better, in that at least you can move the files as files. But even so, it's unreliable. The tray icon says everything is synced, but in the explorer some files still have the "syncing" icon. And of course, when I look on the browser, said files are missing. But there's no network activity, so it just... does nothing.
I have also not found an easy way to confirm all files are synced from the web. I haven't found an equivalent to the right-click -> properties to get the number of files and the actual size. So if you have a structure with several folders, you're SoL.
This works the same for Google drive and most of the other services. The problem is that most users don't understand that the link they create still has access controls attached (that they can change).
We use Microsoft at work because we would either use Microsoft or Google for email. The email service is critical to the choice. We can’t run our own reliably and other vendors just don’t interoperate the same way.
Microsoft Office simply isn’t that expensive and it’s very easy to hire people who know how to use it and are comfortable with it. We don’t usually libre office because it’s really not practical to spend hours retraining expensive knowledge workers. Payroll is over half of our budget and our largest single expense. Software is cheap and isn’t even close.
Then, try to standardize them.
The office-document format wars played out _at least_ twenty years ago.
The path dependence and "everyone uses it" (installed base) inertia of Microsoft's formats continue to benefit Microsoft (and its OOXML formats), despite ODF being more open and, in many ways, superior--not least because it's easier to implement, manipulate programmatically, and reason about.
But refighting that battle seems pointless. Users and the market have moved on, not least toward cloud-based tools; file formats no longer seem the primary barrier to competition.
Given my experience building this, I think the idea of "a truly independent document":
> one that displays identically on any system, in any country, for any user, regardless of the software used
Will be very difficult to achieve in practice.
Building software is an expression of opinions. And one of the main drivers of building an app is to innovate or improve the user experience vs. what exists today. These things combine to result in new features, and new features breaks the open standard.
If I wanted to build a new Excel, I might want to add something to spreadsheets which a basic open source reader cannot, or even Excel itself, might not be able to handle.
With SmallDocs, I built on the standard rendering of markdown, but then added a bunch of properties which traditional markdown renders would ignore.
For example, styles front matter:
Which means you can create colorful files like: https://smalldocs.org/s/v_CHCaQHdGNVlsQtk6skEY#k=ZajP0oeiW86...And slide blocks like:
Which means you can generate slides like: https://smalldocs.org/s/EKnIk-YdUBZeDA9yQs97mh#k=Eo-p46k-k6Q...All this means SmallDocs markdown files only render correctly through our rendering engine - but this enables me to add something new to an existing document format.
[1] https://smalldocs.com; https://github.com/espressoplease/smalldocs
Cloud/browser based office tools were already a thing decade ago. Do we have an open format except .md ? Sadly no.
Afterall, format is just a way to serialize features.
https://www.oasis-open.org/tc-opendocument/
And they don't share a universal format.
When the format is proprietary, you get a blob of binary data that you have to reverse engineer through guesswork, made orders of magnitude more difficult if the original service isn't even available anymore.
What this means for the users is that their interests are overpowered by the interests of the organization supplying them with the software. An organization can be more easily bribed both "legally" by offering a (temporary) discount and straight-up illegally by paying the procurement officer. Microsoft is known to do both. This is not a battle one can win on technological merit alone, unfortunately...
It’s possible to create read-only viewers for Word, Excel & PowerPoint files that are more-or-less pixel accurate on 99% of files, so long as the user has the correct fonts installed (or, in the case of the PowerPoint, they come embedded).
We need interoperability between MSOffice and everything else. But were stuck with MSOffice because even the so called open format is not well documented.
MS Office is the last roadblock for Linux desktop. It's literally the last thing holding back many users from moving to anything else.
No support from OEM vendors to sell pre-installed devices on consumer stores, even if they do support it, it is a custom OEM distro, because differentiation, like on the netbooks, Android, or drivers tied to a specific Ubuntu release, with shovelware.
Games, no studio cares about Linux native games, thus Proton. Game studios keep happily using Windows, Visual Studio, up to Valve to do the needful, at least as long as current management is around.
Governments, plenty of jurisdictions still have software that requires either Windows or macOS desktop software.
And then we have the whole desktop fragmentation, that makes people don't care and ship shitty Electron apps or command line software.