Marketing Team: Can we present Nix/NixOS better?

Hello Nix community!

We all at one point tried and failed to “sell” Nix/NixOS either to a friend, a coworker or a client. Some (like me) more than once. There are many things we could do better when we are talking about Nix/NixOS and there are many ways we could change Nix/NixOS itself to have a better onboarding experience. Since most of us have a technical background we prefer to tackle the technical problems, but with this announcement I’d like to start to focus on how we talk about Nix/NixOS.

I’d like to announce the Marketing team and before you judge it by the name please read the rest of the announcement below.

Responsibilities

  • Main tool (and responsibility) is https://nixos.org and the content on it.
  • Research market / ecosystems where Nix/NixOS compete. How Nix/NixOS fits in it and where it stands out.
  • Listen to the community, connect with companies that offer Nix/NixOS consulting how nixos.org could better help them promote their services.

Initial members

  • Rok Garbas (garbas)
  • Samuel Dionne-Riel (samueldr)
  • Eelco Dolstra (niksnut)
  • Graham Christensen (gchristensen)

How to participate and help?

Clearly the topics that the marketing team will discuss are very bikesheddey. We would like to see the team being assembled from every corner of a Nix community. To join the team please write an email to webmaster@nixos.org trying to answer the following questions:

  • Why would you like to join the team?
  • Why are you interested in marketing Nix?
  • What drives you?
  • How would you contribute to the marketing team?
  • What is your idea what marketing team will work on, this year? Next year? Next 5 years?
  • What could be few easy fixes to the website that would solve problems that you heard others complain about Nix/NixOS?

The answers are actually not used to judge people if they are good enough to join, but to understand the person joining, their intent and their vision. Since we will discuss many things that could be very bikeshedding it is important that we understand each other’s position and the context they are arguing from.

Meetings

You can expect at meetings to discuss things first in an abstract manner (what are our goals) and only then get into more concrete proposals (how do we achieve goals). Meetings will be scheduled as needed and as much as the team has time, but at least once a month. Initially it might happen that we will meet more often until the whole idea of what a marketing team is/does is bootstrapped. Minutes of the meetings will be published with the potential agenda and the date of the next meeting.

First meeting: 18th Mar 2020 at 21:00CET (meeting planner)

FAQ

I tried to anticipate some questions/reactions:

  • What’s with all the corporate lingo? We are an open source community and not a company?
    It is the language I’m familiar with and I know few others are as well. If there are things that bother you please contact any of us and propose ways in which we can improve.
  • Why not use the RFC process?
    The RFC process targets changes to the Nix ecosystem. Technical changes, not social changes. Going through the RFC process would expose this endeavor to unneeded bikeshedding.
  • How will you avoid bikeshedding? How will you get anything done?
    We will try to do our best. Patience is the key :slight_smile:
  • How will you handle controversial topics?
    When a controversial topic comes to be discussed we will look at it from all the sides and provide a summary. We will try to invite the community (especially the concerned part of the community) to get involved more and try to clarify in as much as clear way as possible. Experience shows that most of the time problem is in communication and this is what we will always try to do better.
  • I don’t like that the community is becoming professional, can we just hack?
    We always avoid success, but let’s try for once to plan it :slight_smile:
24 Likes

My $0.02: nothing will speed adoption more than a guided, graphic installer. Keep spyware out of the distro, and say you are doing it. Amarok and VLC Player used to get album art, etc., by sending out everything you were playing. If you tried to uninstall Amarok with it’s spyware, Ubuntu would uninstall every GUI app, and it’s entire GUI desktop. I never got around to trying Ubuntu again. I know VLC subsequently stopped doing it.

It being open source, and not a company is a selling point.

I anticipate shills coming in to add spyware, to keep out chromium forks that eliminate spyware, and generally to keep NixOS from going its own direction, when it seems to be a genuine improvement. Look how Firefox has become a GUI clone of Chrome. On Windows, I use Basilisk and make it like the old Firefox. I expect shill contributors with ulterior agendas to offer tons of patches to this effect. Using a root certificate authority can be a potential type of spyware, as FF’s ‘blocking of scam and malware sites’. uBlock Origin does that perfectly well, and it lets you choose what gets blocked. The FF package might 1) disable FF’s blocking of sites, and 2) pull up a page warning that it is disabled, and they could use a uBlock Origin, etc. When too many ppl are demanding features, especially ones that compromise privacy, and/or to make NixOS just like the majority other distrso, based on specious arguments, let their siren songs fall on deaf ears.

2 Likes

My $0.02:
Thank you for taking the time

nothing will speed adoption more than a guided, graphic installer.

Do you maybe have any example that can back up this claim? There are many things we need to do and if we have strong(er) reasons to do it I think others (not marketing team) will be likely to jump on it and do it.

Keep spyware out of the distro, and say you are doing it. Amarok and VLC Player used to get album art, etc., by sending out everything you were playing. If you tried to uninstall Amarok with it’s spyware, Ubuntu would uninstall every GUI app, and it’s entire GUI desktop. I never got around to trying Ubuntu again. I know VLC subsequently stopped doing it.

Same here as for the above. If I read correctly your assumption is that keeping the spyware out would drive the adoption higher. I would actually claim the opposite, but I’m more then ready to change my mind provided certain facts and not just sentiments. But you are right that - as you - some people do care about this and we can definitely expose this. I think currently Nix does already a decent job at this by requiring an opt-in for unfree software (via allowUnfree) and also giving you and option to white/black-list the licenses (via whitelistedLicenses/blacklistedLicenses).

It being open source, and not a company is a selling point.

This only holds true for some. I think being a community run projects is a good thing. I think it is important to understand the users in the market we want to expend into. My goals - which I stated in announcement - is to move Nix into mainstream or at least closer. This require us to understand the mindset of those developers in the mainstream market. General opinion that we can agree is that those developers don’t want or don’t have time to improve the solution, but expect that software “just works” or in the worse case there is a support they can reach to. In Nix’s case this would mean there must be a healthy variety of companies providing Nix/NixOS support. We can disagree that direction - going into the mainstream market - is wrong, but that is completely new discussion.

I anticipate shills coming in to add spyware, to keep out chromium forks that eliminate spyware, and generally to keep NixOS from going its own direction, when it seems to be a genuine improvement. Look how Firefox has become a GUI clone of Chrome. On Windows, I use Basilisk and make it like the old Firefox. I expect shill contributors with ulterior agendas to offer tons of patches to this effect. Using a root certificate authority can be a potential type of spyware, as FF’s ‘blocking of scam and malware sites’. uBlock Origin does that perfectly well, and it lets you choose what gets blocked. The FF package might 1) disable FF’s blocking of sites, and 2) pull up a page warning that it is disabled, and they could use a uBlock Origin, etc. When too many ppl are demanding features, especially ones that compromise privacy, and/or to make NixOS just like the majority other distrso, based on specious arguments, let their siren songs fall on deaf ears.

I’m sympathetic to you concerns, especially that NixOS should not become yet another distribution. I very much disagree on the point of - whay you call - spyware. I think users should be able to make a choice and informed decision. But you raise also good point in creating a differentiating factor from other distributions. This is something we will be discussing in the marketing team in the - hopefully near - future.

1 Like

Let me preface this by saying I’m not a highly experienced Linux user; although I have done a fair amount of computer programming both professionally and privately. I have wanted to switch to a distro for my main desktop for some time; but haven’t gotten past its limitations; so I’m sticking with Win7 until M$ intentionally cripples it by denying root certificates, thereby disabling HTTPS sites, like they did XP.

Well, there’s the Windows OSs. I don’t think they would have been as popular, if all desktops, apps, and many settings had to be installed or entered on the command line. Debian, Mint and Ubuntu, some of the more popular Linux distros have graphical ones. It seems odd to ask for such readily available evidence.

Hmmm. You sound as if spyware would be a selling point, from this. I know there are examples of where users don’t mind sending in anonymized usage statistics, but I think you’d be hard-pressed to argue the opposite, and find users that would prefer, e.g. all their Chrome URLs to be sent to Google, if e.g. Google could avoid dangerous websites without doing so instead. I’ll agree that e.g. the many users of Chrome, and oblivious users of Win10 don’t care; but their preferring it is another matter.

There are many privacy-aware versions of softs out there; demonstrating that a small, but still sizeable minority care about such matters. There are many guides how to disable Win10 telemetry, and many users have declined to update to Win10, but stayed with Win7 for this very reason. There are privacy-oriented versions of Linux. There are versions of Chromium which have been de-Googlized (unGoogled chromium, Bromite, Brave, Iron Browser, Cliqz, Epic, Iridium) and of Firefox (Palemoon, Basilisk and TorBrowser). There are probably many more this misses. An option to simply ignore non-free software doesn’t come close.

Getting back to the idea of examples of graphic installers, I’m not well-versed in many of the distros out there; so don’t take these as necessarily the best examples. I rather like the Debian advanced graphical setup. It lets me make a lot of technical choices I already know about, without having to spend weeks upon weeks trolling the wiki, Stack Overflow-like sites, blogs, repositories, etc., to find them. I’d also suggest something like XP’s add/remove Windows components, except in the installer.

I also recognize many, perhaps most users, aren’t very computer literate, and want things to just work. Many would trade their privacy for the security of Chromium with automatic updates. It’s a package deal with Google. Some would like Chromium and FF to block what Google and Mozilla consider scam, phishing and unsafe sites. Some want their media players to go out and automatically download album artwork, and are happy to allow all their apps to report usage statistics.

I’ve been using computers since my parents bought me my first Apple II+. I saw, e.g. a lot of oversimplified, underpowered apps pandering to the lowest common denominator, such as PFS Write, PFS File, Harvard Graphics, WordStar (not really its fault). I was frustrated with such software, but found welcome relief with M$ Office, originally written for Macs. If memory serves, early versions had two menu systems: a simple one and an advanced one. When users outgrew the simple, on-the-toolbar usage for these products, it was an easy matter to get to the more advanced stuff under the hood. This combination of an intuitive, simple GUI, with advanced options for the power users, became real game changers (then they introduced ribbons, got rid of the chart wizard, and added spyware).

I envision a graphic installer that has what all or almost all in Linux lack: one that ASKS you if you really want all that bloatware on there. Thus, instead of the options being “Plasma Desktop” or “Gnome Desktop” which surreptitiously install Libre Office and a ton of other software you may or may not want, it would give you choices. After all, you may want a different media player, a different audio editor, OnlyOffice instead of LibreOffice, etc. Typically, if you try to uninstall a single piece of this bloatware, it tries to uninstall the entire desktop, ALL of the desktop’s applications, and drops you into the command prompt! This is insipid! It’s ridiculous!!! Windows users never used to have to put up with such high-handed tactics, and even Win10, which contains a considerable amount of bloatware, doesn’t make many presumptions about office suites, audio editors, internet clients (with the exception of Edge), etc.

I envision an installation graphics procedure that would 1) give you a choice of what desktop manager to use: whether KDE Plasma, Gnome, QTLXE, etc. 2) to accept the default software, office suite, internet software, etc. that either comes with the desktop, or can be added on en masse or 3) lets you choose a minimal install like Debian advanced graphical (since you can just ask it to install basic “Tools” for you, 4) gives you advanced HD formatting and other options, for advanced users, as in the Debian advanced Graphical Setup (although this could probably be simplified a bit), 5) possibly, although it would be harder to maintain, give the user granularity on a program-by-program basis (which isn’t involved in settings) 6) let you choose if you’d like all software installed with all telemetry disabled or not (to the greatest extent practical, although it’s difficult to catch all of them in the repos).

In short, what I’d like to see (even if it doesn’t become the majority distro and even OS ultimately) is first: a well-built operating system, developed similar to the office apps when they were originally developed for the Mac, with a simple GUI on the surface, for novices, but not only good computer science, but the features businesses need under the hood. The programming team should listen to users, and there should be a real beta program. That is probably one thing M$ always had on its rivals: it tended to run almost without the bugs that plagued rivals. First, however, developers should develop what they and the directors know would be a great OS. Second, the marketing shouldn’t think in terms of “we need to develop metro-style apps, since M$ does.” The programmers shouldn’t be directed by the marketers, because users don’t always see the software of the future they wind up liking, although they should listen. Instead, you might think in terms of unconventional marketing: holding meet-ups, giving talks, symposia on how NixOS can benefit various users, paying money to advertise, good learning materials on YouTube, user focus groups, etc. Even if it’s a free OS, and doesn’t reflect the ubiquitous modern agenda of most commercial softs: lower the price, but the consumer pays in terms of sale of personal data, there can be alternative ways to raise money: Patreon and alternatives, and sale of consulting, such that if someone wants a change in the OS, or a package ported most users don’t care about, you can sell consulting services. A donation page might help, too. These could be marketing aspects of NixOS. Moneys raised could be used not just for ads, but for bounties, to add certain features to the OS.

Since I’m on a roll, and on a rant, I’ll continue with why I don’t think Linux holds up to Windows yet (or why it didn’t used to, in two cases):

  1. It lacks asking you what software you want installed, as above: not only what programs, but what features of programs

  2. Things solved by Nix, such as where you want your softs installed, coexistence of different versions of the same library in use by different apps, and therefore an end to dependency hell.

  3. Games, which Steam goes a long way to bringing serious games to Linux

  4. A real, dynamic swap-file: Someone mentioned to me that the XP swap-file never shrank, and I can’t say for sure, but I am pretty sure I’ve seen it shrink under Win7. Linux has the dphys-swapfile, but that only adjusts the swapfile size if RAM changes. Linux behaves extremely badly when it runs out of swapfile space. It typically goes completely unresponsive with excessive HD grinding when it runs out of swapfile space. By contrast, Windows lets you set the min and max swapfile sizes for each drive, and it will size them appropriately. When it runs out of swapfile space, apps start failing, but the Explorer will respond to Ctrl-Alt-Del a lot faster than Linux in a similar situation. Therefore, a true dynamic swapfile is more important in Linux. As HD usage grows, and memory demands for apps change, Windows adjusts on-the-fly. Linux can’t. You must expand your swapfile once you get control of your system again (usually by a dangerous power-off), manually.

  5. A nice graphical installer (in the case of NixOS and Arch) that works well for novices and experts or even just the fairly adept, like myself. With M$ intentionally breaking HTTPS on XP, and it is probably a matter of time for Win7, and a lot of users concerned about spyware (i.e. telemetry) as well as bloatware in Win10, it seems that Linux has a chance to dramatically increase market share. (I also heard a user complaining that with Automatic Updates on in Win10, every time he got it working right, a new update would come down and break it. M$ doesn’t make it easy to turn off automatic updates, and they were considering a policy that if ALL automatic updates weren’t accepted, NONE should be available - which they may have ultimately rejected.)

I do hope Linux will come into its own soon. While there are some advances in M$ Office, such as cloud computing and new chart types, the lack of privacy in commercial clouds, telemetry, ribbons, and no chart creation Wizard, for starters, and the bloatware of Win10 suggest they are going downhill in important ways. Many people disable Cortana for privacy reasons, and because of high CPU usage. The ability to install Ubuntu in Win10 is a significant, and important exception. Firefox has become a clone of Chrome, with a hamburger menu, but with an optional search bar, but less security and stability. I think there is ample opportunity to develop a great OS that holds up to the expectations of users, such as Chromebook OS, Andriod, etc.; but the OS must be up to the task.

I think it is important to realize that you can’t be everything to everyone. Developing an end-to-end integrated desktop operating system with productivity tools is a massive undertaking.

One of the first thing that should be established in marketing is: what is the audience that we want to address and convince? Everything else flows from that, e.g. how the website should convey information, what sharp edges should be addressed.

I think a reasonable answer would be experienced Linux and macOS users. The learning curve is less steep for this audience, especially given that Nix can be used on other Linux distributions, and thus can be learned on the side. Most such users from this group gain from declarative package management. And the impact could be very positive for the Nix community: you get a group of users who are likely to file well-documented issues, submit PRs, and potentially become maintainers.

I am generally a supporter of FLOSS and pro-privacy software. However, I also need to get work done, which means I need Skype to call colleagues, CUDA for deep learning, Chrome for its good WebRTC support, etc. I think it is great that nixpkgs has a very wide variety of packages and I can decide for myself how much privacy-invading or proprietary software I am willing to accept.

4 Likes

M$

Could you kindly behave professionaly?

1 Like

Well, I’d agree that they have been your early adopters, and the majority of your users so far. That being said, what other package manager frees Linux package managers from dependency hell, or lets you put software where you want, like Windows softs? Guix is encouraging, but they seem to be really uptight about non-free softs. Linuxbrew is also encouraging, but maybe not so much for OS-related softs. They hate sudo; and seem generally against installing system-wide softs. Now, AppImage, Flatpack, Snap and Docker also relieve dependency hell, but my guess is Nix can do it with less waste of duplicated libraries. Bedrock Linux may be a way to go, as well; but it is still in beta, and not supported in Nix yet. I think it may be a good way to go, but it seems that a better package manager such as Nix simply does things right or at least closer to the way they should have been done in the first place, and if one cleans up old versions on a schedule, does it with less wasted HD space.

I’ve found myself using other repositories the last time I seriously investigated Linux, as I’m interested in digital audio software. I got a lot of dependency hell. While, e.g. in CentOS, you can use versioned software, I’m not sure it really fixes dependencies on different versions of a lib for different programs. Most distros don’t have second generation package managers, and are prone to such problems: if not for most users most of the time, then still for some users some of the time. I’ve seen reports of other distros not playing nice with Nix; so right now, they still have the same problem.

While I’ll admit that no graphical GUI works for Arch, and Nix will gain a certain level of interest without one, are you really saying NixOS will never be an OS for novices; when all unices are in a real need for a second generation package manager? OK. Let me come at this from another angle. I read an article about ‘what Linux does Linus Torvalds use?’ It said he uses Fedora, simply because he wants a Linux that’s easy to install. I’d call him an experienced user; and yet, he’d rather not remember each command line command to set everything up. A graphical installer isn’t just for novices; but experienced users too. After all, why does Debian have an advanced graphical installer, if not for advanced users?

Sure it works for Arch, and it may work for NixOS for some time. All of the major distros except Arch have graphical installers; and many based on Arch do as well.

I’m not a fan of declarative languages, working mainly in C++. I tend to do performance-oriented computing these days. They seem to work well for Nix; and Python is usually interpretive, and yet does a lot of stuff these days. Not knowing much about declarative programming, I have to allow that you guys may really be on to something. If experienced users can benefit from declarative programming, novices can benefit from it, via a second generation package manager, too; IMHO.

Maybe NixOS is still in a growth phase right now, and doesn’t need to grow its user base much. I look forward to the time when it is also for novices, and has a graphic installer that can benefit both novice, and highly experienced users. My summary of my perceived shortcommings of Linux might be improved in the details, but I’d like to see a real alternative to Windows and OSX.

You’ve misspelled “professionally.” I, for one, am not trying to be professional - just looking for a great distro, primarily for my own use. I’ll defend the abbr., tho. It is quick to type, fairly unambiguous, and isn’t actually derogatory (unless you hate capitalism in general).

I’m not saying don’t make them available. I think we agree on that. There is Jitsi, BTW, which has open-source encryption, is easy to use, even on cell phones, and you can even set up your own server, if you are paranoid enough.

I’m not saying don’t use Chrome, but of course, the many privacy-oriented chromium clones will presumably have good WebRTC support, too. Not trying to tell anyone what to use - just offering options. I’m not really sure how well any are supported on Linux, tho.

My $0.02: nothing will speed adoption more than a guided, graphic installer.

Regarding the graphical installer: I don’t think that’s the obstacle. Let me explain why.

Markets are defined by people who talk to each other. Currently our biggest market that can improve Nix further are SRE/DevOps that can/would/will use Nix in their job.

What’s lacking for those people is:

  • tutorials to get started
  • improved easy search of documentation
  • fixes to tooling that don’t blow up and require deep knowledge of Nix internals

Once we can onboard thousands of developers following the same tutorials based on
common pain points, all the rest of the markets will accelerate extremely fast.

The market of those that need graphical installer are users who are most likely to use NixOS
for installing desktops, etc. Not to say those are not important and that not having a graphical installer wouldn’t be really nice, but it’s not going to help Nix grow much. Or at least not to the audience that really would give back to the community as much as previously mentioned one would have a compounding effect.

16 Likes

After all, why does Debian have an advanced graphical installer, if not for advanced users?

As you might known Debian was in past well known for its rather complicated install process. It’s true that now days Debian’s installation is graphical and very intuitive but it came later after the more important roots were already in place and strong. More information on Wikipedia.

While I agree that simplifying install process can go a long way and there will be time for it in the future I don’t feel it should be priority at the moment.

In my opinion installation process is rather simple compare to other things users are required to know in order to be able to use the system successfully. It’s very common that user of NixOS still needs to undertake some nontrivial steps in order to package some software to run it and this usually requires certain level of expertise we currently simply can’t work around.

In my opinion NixOS first needs to grow in community of developers and devops who already has this expertise and can directly benefit from more deterministic software packaging. More people caring about packaging for NixOS will mean more people pushing for sanity in system management and software development which would result in larger ecosystem around nix as well as improvement in culture of software build design. These folks will lay the foundation of better general UX of the ecosystem on top of which the future of NixOS desktop for everyone can be built.

That’s being said I think it might make sense to have GUI tool for nix-env and nix-store management to make it easy to use Nix package manager on NixOS as well as other distributions. Also I think we can benefit from making Nix package manager easier to install on various cloud and VPS providers.

3 Likes

Windows got popular because it was what the OEM’s provided when you bought a machine. If you look at the number of people who install Windows (therefore seeing the installer) and the number of people who use windows but have never installed it, you’re probably getting down to numbers so low that it’s little more than noise.

Couldn’t agree more with @domenkozar, but I’ll add is this:

What’s lacking for those people is:

  • tutorials to get started

if tutorials are step 1 then having a much less confusing website is step 0. Before you actually benefit from a tutorial you have to find it :slight_smile: . I was asked numerous times where to find something that should be easily discoverable, even current manuals are explaining it sufficiently.

  • improved easy search of documentation

I’m sure this is currently such a problem, since all documentation is on 3 pages (aka 3 manuals). What is a problem is that you don’t know in which manual to look at. Step 0 into that direction was just having a better table of content and list them side by side which we already did in a first week of marketing team :slight_smile: Now we wont stop here, but I rather take this change which we did in an evening then what was the previous state. I hope that we can shortly put/link some tutorials on that site as well.

  • fixes to tooling that don’t blow up and require deep knowledge of Nix internals

I think this is the point which will take the longest to improve - understandably. What we can already do today is for certain markets/use cases limit the scope and provide simpler ways (docker containers, wrappers around nix coomands, …) that does not include touching any of the nix tooling but feels much more polished. This means of course that this will only work for 90% of the cases, and for complex cases you can point them to this awesome nix tutorial which we talked at point number 1 :slight_smile: or point them to a place where they can get help/consulting.

6 Likes

@CodeLurker if you want to work on the graphical installer, ping @manveru. He has been working on that during last NixCon and made good progress already.

Luckily all the goals listed here are not mutually exclusive and can be done mostly in parallel. One thing that is nice about NixOS (and other OSS projects) is that we can all come with out own priorities and still make the project go forward as a whole.

Actually I would argue that this is the most important thing, how to empower every member of the community so that they can enact change. As the numbers of contributors grow it becomes quite difficult to keep track of everything that is happening.

10 Likes

For newcomers I find it is important that they can try out Nix without installing it. As announced in the last NixOS weekly I created a page with tutorials that can be used interactively using Binder. That way, people can try Nix without having it installed. Please have a look. Note the Binder button at the top of each tutorial page. https://fridh.github.io/nix-tutorials/

7 Likes

Wow, thanks. That’s already a significant improvement.

Though I feel that there is a deeper problem with the Nix(OS) documentation: It conflates different use-cases while for the most part not being explicit about it.

This seems especially true for the NixPkgs manual. I have to constantly consult it for two main use-cases:

  • developing for NixOS / NixPkgs, e.g., packaging some software or updating / fixing a package
  • developing on NixOS / with NixPkgs, i.e., programming something that I don’t plan to package for NixPkgs and which should be usable by people without NixOS and without the Nix package manager, or contributing to other existing projects unrelated to Nix, NixPkgs and NixOS.

For many topics that can occur in both, the NixPkgs manual has some instructions and recipes, but often they only really work for one of the use-cases without adaptions (usually the former one) and for a newcomer it’s not obvious

  • for which of these use cases a set of instructions or a recipe is meant
  • whether it can (and should) be adapted for the respective other use-case
  • what adaptions would be necessary for that

One example is the topic “Python”. Although there probably would be some overlap, I feel we need completely separate chapters (maybe even in distinct manuals) for packaging Python libs and Python applications for NixPkgs vs. doing Python development (developing Python libs or Python applications) while happening to be using NixOS.

Something similar probably applies to almost every software development ecosystem currently covered in the NixPkgs manual.

4 Likes

Glad to hear it! If I may suggest a simple philosophical razor: make Nix/NixOS more like other popular package managers / distros, except where it would violate a core principle of Nix. Ubuntu, Linux Mint, and Arch are all great examples, where we can learn from their messaging, on-boarding, documentation, and support.

Here’s some info supporting what I was saying before, and some responses to the proceeding:

Here’s a video about just how much Canonical was allowing (pushing? being paid to push?) spyware, how at least some people were taking a very dim view of it, and apparently how they were forced to back off on at least the worst of it:

Why Ubuntu is the Devil and Why So Many No Longer Use It

Here’s Linus talking distros:

Why Linus Torvalds doesn’t use Ubuntu or Debian

Which Linux Distribution Does Linus Torvalds Use in 2018?

A summary from the above: “Anyway, he buttressed his reason for not using Debian in a later interview from 2014 , when he explained that because he is responsible for maintaining his computer and all the computers used by his household, he likes to use an OS with virtually no installation hassle.”

domenkozar: I read, on one of the links that came up when searching for these, that Linux wanted to contribute to fix a bug in a distro, but the people were being difficult.

That sounds reasonable. That sounds like a matter of tactics, vs. strategy.

On a somewhat different tack, I had asked myself in the past: Why doesn’t Windows have a window like Add & Remove Windows Components in the installer? Maybe it would be unnecessarily convoluted; but maybe it would save needless duplication of code, to have something to install and uninstall recommended parts of the OS desktop.

I have other projects I plan to code in the near to medium term, i.e. VST plugins to sell. I don’t know how to ping him; but I’d be happy to explain my suggestions above. I have given back by making lots of suggestions. I’m the one who got the lady who maintains Qalculate to add a programmer’s keypad. It took her only one day for the initial draft! I’ve provided bunch of issues to Qt, and have a passable StackOverflow reputation. I’d make a great beta tester, if I had the time.

FWIW: I was able to get Nix to install via command line, and didn’t find it unduly difficult; although I did find that using any of the OpenGL compositors were causing serious display glitches on a very old NVIDIA nForce 630a Chipset on an Asus M2N68; such that the only available ones were too slow. I had first tried Pop!_OS, and it found only two resolutions: 640 & 1024; but worked quickly when the swapfile was large enough. Debian found a rich assortment of display modes. Yes, I know, the thing is ridiculously old; but I consider it a good test case for robust driver support.

Strategically, I am pretty sure disenfranchised windows users will expect a convenient graphical installer for larger-scale adoption; and as above, even some experts will want an easy-to-install distro, and may contribute. I think Linux still has some important pieces of the puzzle missing, to be a worthy replacement for Win7; and yet may even be able to do some things right they got wrong. I’m just kibitzing here, and won’t have time to help much in the short to mid-term future; but I’m guessing most of you would welcome such improvements if patches were offered.

I tend to think first generation Linux package managers are awful, but then I’m not actually well-versed in them. I’m sure there will be things to learn from them.

It appears I’m fighting this virus now, and this is stressful. If someone would like to pass along my suggestions to @manveru, I’d appreciate it; especially having the option to leave out the whole desktop software meta-package, or even leave out parts of it.

For example, the CLI for apt/yum much easier / better documented. Nix cli tends to use a bunch of esoteric flags that are hard to remember. The experimental nix command is an exception for sure, an a much welcome step in the right direction IMHO.

For declarative config, the JavaScript ecosystem provides some great examples. For example, yarn install is super easy to use and modifies a declarative package.json config file. The whole nix-env pattern often trips up new users by getting into weird hybrid imperative / declarative situations, while experienced nix users know to avoid nix-env -iA and instead modify home.nix or configuration.nix.

2 Likes

Yes, this is the main question we need to answer from the outset. My answer would be: developers and DevOps people. That is, people who want reproducible build environments for their projects, or who want to deploy to (cloud) environments in a declarative way.

That audience does not care very much about GUIs (except maybe IDE integration), so it would be a mistake to focus on GUI installers. In fact, I would go so far as to say that the homepage shouldn’t emphasize NixOS-on-the-desktop. We can’t compete with Ubuntu or Mint in the user-friendlyness department.

7 Likes

I’d say currently we are in no position to compete with those distros and succeed too.
(there’s lots of threads on discourse that already prove this, devs seem to be the most happy with nixos)
But I’ve spoken to a few people who have the resources and even projects to change that in the longterm, which is rather exciting.

But I’ve spoken to a few people who have the resources and even projects to change that in the longterm, which is rather exciting.

Well, if marketing is about «presenting what Nix* has now (or will >75% likely have Soon™ in a predictable shape) in an appealing form», then these projects are probably useful, but not a short-term marketing concern as long as there are tractable improvements about presenting the current value proposition.