04 September, 2019

Principles

dafuq?
We recently did a post about the Nextcloud Mission and Principles we discussed at the previous Contributor Week. I guess it is mostly the easy-to-agree on stuff, so let me ruin the conversation a bit with the harder stuff. Warning: black and white don't exist beyond this point.

Open Source

In an internal conversation about some community pushback on something we did, I linked to islinuxaboutchoice.com - people often think that 'just' because a product is open source, it can't advertise to them, it has to be chock full of options, it has to be made by volunteers, it can't cost money and so on...

But if you want to build a successful product and change the world, you have to be different. You have to keep an eye on usability. You have to promote what you do - nobody sees the great work that isn't talked about. You have to try and build a business so you can pay people for their work and speed up development. Or at least make sure that people can build businesses around your project to push it forward.

I personally think this is a major difference between KDE and GNOME, with the former being far less friendly to 'business' and thus most entrepreneurial folks and the resources they bring go into GNOME. And I've had beers with people discussing SUSE's business and its relationship with openSUSE - just like Fedora folks must think about how they work with Red Hat, all the time. I think the openSUSE foundation is a good idea (I've pushed for it when I was community manager), but going forward I think the board should have a keen eye on how they can enable and support commercial efforts around openSUSE. In my humble opinion the KDE board has been far to little focused on that (I've ran for the board on this platform) and you also see the LibreOffice's Document Foundation having trouble in this area. To help the projects be successful, the boards on these organizations need to have people on them who understand business and its needs, just like they need to have community members who understand the needs of open source contributors.

But companies bring lots of complications to open source. When they compete (as in the LibreOffice ecosystem), when they advertise, when they push for changes in release cycles... Remember Mark Shuttleworth arguing KDE should adopt a 6-month release cycle? In hindsight, I think we should have!

Principles

So, going back to the list of Nextcloud's Mission and Principles, I say they are the easy stuff, because they are. They show we want to do the right thing, they show what our core motivation was behind starting this company: building a project that helps people regain control over their privacy. But, in day to day, I see myself focus almost exclusively on the needs of business. And you know what, businesses don't need privacy... That isn't why we do this.

Oh, I'm very proud we put in significant effort in home users when we can - our Simple Signup program has cost us a lot of effort and won't ever make us a dime. The Nextcloud Box was, similarly, purely associated with our goals, not a commercial project. Though you can argue both had marketing benefits - in the end, a bigger Nextcloud ecosystem helps us find customers.

I guess that's what keeps me motivated - customers help us improve Nextcloud, more Nextcloud users help us find more customers and so both benefit.

Pragmatism and the real hard questions

Personally, I'd add an item about 'pragmatism' to the list, though you can say it is inferred from our rather large ambitions. We want to make a difference, a real difference. That means you have to keep focused on the goal, put in the work and be pragmatic.

An example is the conversation about github. Would we prefer a more decentralized solution? Absolutely. Are we going to compromise our goals by moving away from the largest open source collaboration network to a platform which will result in less contributions? No.... As long as github isn't making our work actively harder, does not act unethically and its network provides the biggest benefits to our community by helping us reach our goals, we will stay...

More questions and the rabbit hole

Would you buy a list of email addresses to send them information about Nextcloud? No, because it harms those users' privacy and probably isn't even really legal. Would you work with a large network to reach its members, even if you don't like that network and its practices? Yes - that is why we're on Facebook and Twitter, even though we're not fans of either.

Let's make it even harder. How about the choice of who you sell to. Should we not sell to Company X even if that deal would allow us to hire 10 great developers on making Nextcloud better for the whole world and further our goals? Would you work with a company that builds rockets and bombs to earn money for Nextcloud development? We've decided 'nope' a few times already, we don't want that money. But what about their suppliers? And suppliers of suppliers? A company that makes screws might occasionally sell to Boeing which also makes money from army fighters... Hard choices, right?

And do you work with countries that are less than entirely awesome? Some would argue that would include Russia and China, others would say the USA should be on a black list, too... What about Brazil under its current president? The UK? You can't stop anyone from using an open source product anyway, of course... It gets political quick, we've decided to stick to EU export regulations but it's a tough set of questions. Mother Teresa took money from dictators. Should she have? No?

It might seem easy to say, in a very principled way, no to all the above questions, but then your project won't be successful. And your project wants to make the world better, does it not?

Conclusion?

We discuss these things internally and try to be both principled and pragmatic. That is difficult and I would absolutely appreciate thoughts, feedback, maybe links to how other organizations make these choices. Please, post them here, or in the comments section of the original blog. I can totally imagine you'd rather not comment here as this blog is hosted by blogger.com - yes, a Google company. For pragmatic reasons... I haven't had time to set up something else!

There's lots of grey areas in this, it isn't always easy, and sometimes you do something that makes a few people upset. As the Dutch say - **Waar gehakt wordt vallen spaanders**.



PS and if you, despite all the hard questions, still would want to work at a company that tries to make the world better, we're hiring! Personally, I need somebody in marketing to help me organize events like the Nextcloud Conference, design flyers and slide decks for sales and so on... Want to work with me? Shoot me an email!

3 comments:

  1. > maybe links to how other organizations make these choices

    All/most FLOSS projects participate at gsoc, Firefox defaults to google.com to cross-finance development while Google is patron of KDE and so directly helps to finance the infrastructure to name some examples.

    ReplyDelete
  2. You are right, these are some tough questions.
    The short (black and white) answer is, stick to your principles. Because it is open source, you don't HAVE to sell to anyone. Because this is open source you cannot prevent anyone from installing and using your product. If you go by the argument of "what about their sellers? Companies providing screws..." then you will never develop, never sell and never ever succeed in your product, purely due to the "Six degrees of separation" rule. So when asking the hard questions, it is about the company itself, selling its soul to the devil. It might be a bit naive of me, but I personally believe that sticking to your values will someday pay off. But evaluating these companies/clients etc. is on per-case basis, and Nextcloud has to be at ease with the decision. And the rest of the world's take on the situation, well that should just not matter.

    Regarding github, I feel don't try and fix what aint broken. It works, for now. It is not to say it will always be that way, but it works. So yeah, your idea there is sound, imho anyway.

    Lastly, I know what you are referring to about "advertising". I think people who use open source software, cannot be infuriated if the product advertises something (like a contributor week) about ITSELF. And only to the admins. It is like receiving the newsletter. Don't let high-horsed, short-sighted individuals let you lose focus of the greater goal. Just paste the link to the FAQ where it shows how they can enable or disable whatever notifications they want, and move on.

    This is all just my 2c.

    ReplyDelete
  3. Tumbleweed or Fedora, in my view, would not exist if it was not for their respective corporate sponsors. Both sponsors and respective developers recognize that the deliverables have to be zippered in. By that I mean, one application for the sponsor, one for the developer, one for the sponsor, one for the developer, as if one is closing a zipper.

    So, what would change the zipper rule? -- New hardware, --security patches, --application fixes, and in that batch to break the rule is competition.


    I would like to address a message about KDE and Gnome. I agree with the author about his KDE being too technical for many, and I find gnome too awful for many. However, a latecomer to the arena (in the Fedora world) is Deepin, and Pantheon. Deepin takes Gnome, and organizes the icon list according to topics vis games, internet etc.
    Pantheon pantheon creates a dash footing, and very little else. There is a menu facility that is hidden, but which can be used to add to that footing.

    Linux is not standing still. Hip-Hip-Horrah

    PS. Just as LibreOffice provides an office suite for all software, why do we not have such a repository grouping for other applications?

    I am sure that Debian, SUSE' RedHat, arch and others would like to have a centralized source repository from which each distribution could draw the most recent software version. That one repository would satisfy 90+% of all distributions requirements.

    ReplyDelete

Say something smart and be polite please!