I welcome this initiative.
(Yes I know there are examples of documentation excellence to be found in some free/open systems. You can advocate their use whilst also having well documented macOs.)
Impact is a big factor in how useful an activity is, even if it's tied to a big company.
From a purely utilitarian perspective:
- The same amount of effort spent trying to document will result in more documentation being produced on a free system, since free systems are easier to document.
- The same amount of documentation produced will result in more benefit from end users for a free system, because more people will be able to use a free system.
Documentation effort towards Linux would help get that number up from nobody plus epsilon.
Also, at this point that's just not true because of Android. Most of the userspace is different from normal GNU/Linux distros, but not all: for instance, if your question is "how the heck am I supposed to connect to this WPA-Enterprise network," it's wpa_supplicant under the hood whether you're using Android's network dialog or GNOME's, and documenting wpa_supplicant's abilities and bugs helps Android users just as much as GNOME users.
The NDK APIs are quite constrained and only meant to be used for Java native methods, real time audio and high performance graphics.
Google can replace the kernel for anything else POSIX like, with the same set of NDK APIs.
Since Android 7, they have been locking down access to anything else not part of the official NDK APIs.
(But maybe I missed the point and we're specifically talking about developer documentation here?)
As for user documentation, any OEM is free to do whatever they feel like, so you don't have any guarantee how much of it is actually like AOSP.
Samsung is well known among Android devs for breaking AOSP compatibility.
I'm not being factious. We always say that documentation doesn't keep up and that the only real documentation is the code. Ultimately the only reliably documented software is free software.
Unless we start writing paragraphs of comments for every little five line function, there will still be a need for technical documentation outside of code.
If you’re going to make such a reductionist definition of “documentation”, why not go all the way: every executable program is just a sequence of clear and simple instructions to the machine. The documentation of what each instruction does is right there in black and white. Why would you need anything else? All programs are documented.
Academic papers are both jargony and written in specialist notation and are not generally accessible to lay people without background in the field. I don't see how it is really much different.
(at the risk of speaking for someone else)...
jacobolus is saying that in both binary and source format, code is readable. It's just a matter of scale as to how readable each is.
Source is an abstraction of the code that is actually running, and documentation should be an abstraction of the source and how the running code works.
To your actual point, what hampers free software more than anything imo is a lack of focus on usability. People buy Apple because, less now than a few yeara ago but still the vast majority of the time, it Just Works. People buy Creative Cloud for much the same reason, and Office 365, and whatever other proprietary products you care to name, because they mostly work reliably, and it's not hard to find help when they don't.
This is the standard free software needs to meet in order to compete. The reason it doesn't, I think, is because the economic incentive to do so is not there. That's not a problem I know how to solve, and I wish I did, because then I'd be able to advocate free software (and hardware!) for general use, as I would strongly prefer to do. As the matter stands now, though, I can't do so without critically damaging my credibility with those among whom I would so advocate.
That's a problem that needs to be solved. How does it become so?
I know. I've have had friends who I installed linux on their computer then call me in a few months describing some strange problem, probably related to a broken update, and then in a few months I cringe when I see them buying the latest Apple product but understand why. I worry they think less of free software after that experience.
There's choice so you don't have to use those - https://www.freebsd.org/doc/handbook/
Windows and Android had much better documentation than Linux for a long time.
That is one of the major reason of why they are where they are nowadays.
Seriously, a company with the more GDP than entire nations should be able to do a better job at documenting than the Fedora team. Even if it is a loss leader.
> Most open source projects are proud to have user documentation which is an order of magnitude better than anything provided by Apple for macOS.
Stallman has a "Why Open Source Misses the Point" article that I find pretty compelling. It suggests you should support Free Software because it's the right ethical thing to do, not because of the many instrumental utility arguments of the Open Source movement.
He calls out specifically the notion that Open Source is intrinsically higher quality than commercial software. Indeed there are many high quality, well-functioning commercial bits of software out there.
So, either the ethos of Free Software appeals to you, and you should choose it regardless of whether it is the highest quality, or you don't, in which case the function of the software should be your guide. I personally find the ethical argument compelling, and so often do forego "better" software in favor or freer software.
Of course, the debate on how unethical using non-free software is has been going on for decades and both sides have reasonable arguments. Also, we're all people and hypocrites by definition. I do stuff that's against my fundamental morals every day (eg go to the cinema instead of save a life with the same money). Similarly I think I agree with the Stallmans of this world but I use Windows anyway.
But still, "let's not let ethics get in the way of making choices" isn't the best argument I've ever read on HN :-)
macOS is the best desktop OS going, for the moment.
This is a very subjective claim. Maybe a long long time ago you could say this, but not the case today.
> "not convinced that free software documentation is any better"
That's beside the point. If that were true, that is an argument for focusing a community effort at improving documentation for a free desktop. And actually with linux the problem is not as much a lack of documentation, but rather that the documentation is a little overwhelming, because it is just too specific or technical. (ever typed "man" something in a terminal?)
Without vendor support and with barely any investment from manufacturers, the Linux community is still pushing on to get things to a point where your dog could install it.
Your experience is an anomaly they're trying hard to eradicate.
It only takes a particularly new graphics card, or certain wireless chipset to give even battle-hardened users a novel and painful experience.
For example, there was an article recently, how Nvidia isn't going to support OpenGL acceleration in XWayland.
The keyholder to solve the problems with NV cards in Linux is Nvidia itself. They have all the info, all the sources, and whatever roadmap they planned.
Linux community can solve only Intel and AMD problems, and that's because Intel and AMD are cooperating. Nvidia isn't (Linus' middle finger says hello).
Meanwhile, it is up to you as an consumer, to vote with your wallet and use that to show the vendors your preferences.
All the games (which are of course binary-only, often 32-bit only) released for Linux are linked against SDL 1.2/SDL 2 and X11. It means, that if you are Nvidia owner, you cannot switch to Wayland, unless you are willing to give up gaming (in the current session, at least).
On the other hand, who is buying Nvidia cards? Gamers.
So by not having OpenGL support in XWayland, they have to choose what kind of session they want to run. Many are of course going to choose X11, thus slowing down the adoption of Wayland, delaying the retirement of X11 and of course losing some benefits of Flatpaks (namely isolation at GUI server).
Note: Xwayland, not Wayland itself.
Xwayland is the X11-emulation server running inside Wayland (which itself is HW accelerated).
Not saying anything you claim is wrong, but it's easy to interpret wrong so posting for clarity.
For your use cases perhaps, but it's not suitable for all use cases in the same way CoreAudio on OSX is. Music production is a key weak point, which is why JACK and PulseAudio are both required to have what CoreAudio offers out of the box.
There is a reason why there is both Jack and Pulse...they meet different needs (pro-audio vs desktop), and it is not necessarily a bad thing to have separate tools to handle separate needs.
It's not a bad thing to have different high-level tools for different needs, but in the case of lower level frameworks it's suboptimal unless interoperability is seamless. In the case of PulseAudio and JACK that interoperability is not seamless, and is fraught with problems, so in this regard Linux audio is worse than CoreAudio.
I never needed to.
> It does not work out of the box.
It does.
> You must know how to use terminal and edit Byzantine configurations, and read Linux forum posts from 2005 to make basic functionality work.
What was your problem?
> It's my "subjective" opinion, but after 5+ hours troubleshooting and configuring as a power user who does know how to edit conf files I wouldn't recommend it to anyone.
You're lying, if you'd be a "power-user" then you wouldn't complain about manual text-based configuration.
Buy one of those Developer Edition Dell laptops to even the field, and compare then.
Why?
Is that enough for now? I could go on. I'm using Ubuntu 17.04. Linux on the desktop is still not as easy to use or predictable as Windows or OS X. It's the predictable part that's a deal breaker for me. I want my OS to respond the same way every time I do something, even if that way is wrong or annoying. Every time I sit down to do some work, it's a toss of the dice whether I'll be able to just get into it or if I have to spend some amount of time fixing or resetting or otherwise dealing with nonsense.
Learn systemd then? Or use the "Startup" app?
> I spent two weeks trying to make my ctrl/capslock swap stick and not reset every time the computer slept/resumed.
xmodmap or gnome-tweak-tools?
> When I plug my headphones into the computer, I have to manually switch the output source every time.
I never needed to. See your settings.
> If I plug in my external monitor while the monitor is off and then turn it on, linux refuses to recognize it.
That's your window manager.
> Is that enough for now? I could go on.
Going on with what? With pure laziness from your side to look up tutorials? Or that you use one of the worst window manager/desktop on linux in its almost-beta version and complain about it?
> I'm using Ubuntu 17.04.
That's your problem. 16.04 or switch distros. Don't use unity either. Don't expect things to work when you use (practically) unstable stuff and you don't even know what you're doing.
> Linux on the desktop is still not as easy to use or predictable as Windows or OS X.
None of your claims are true. Just because you misconfigure something somewhere or because you use a crappy window manager it doesn't make the "linux desktop" worse. Windows is not predictable either - I'm forced to use it at work and it's a pretty bad experience overall.