jewelfox: A portrait of a foxgryphon with a beak, black fur, magenta hair, fox ears, and a neckband with a large jewel on it. (Default)

That's the way Free Software idealists say software development should work. You get everything for free in Linux, including the code. If you don't like how something works, you change it and "submit your patch upstream," thus incorporating it into the whole. That way everyone benefits from everyone's creativity.

The problem is, this disenfranchises everyone who doesn't have both the technical ability to do that, and the social standing to be allowed to do that. Which means the Linux world is, and always has been, just a playground for technically proficient people who meet a particular demographic profile, and who keep making changes that affect everyone without consulting the people affected.

The only way to have your interests represented is to be part of the in-group, which means being a white cismale with unusual technical skills and enough money and free time to work on this stuff without pay. That, or a job that lets you get paid for it.

Read more... )

jewelfox: A portrait of a foxgryphon with a beak, black fur, magenta hair, fox ears, and a neckband with a large jewel on it. (Default)
We're in something of a Linux gaming renaissance right now. Not only are a lot of games browser-based, like the EA games featured in the Ubuntu Software Centre, but the Humble Indie Bundle proved that making your games cross-platform is worth it. Add to that online stores like Desura -- basically cross-platform Steam for indies -- and Gameolith, and gaming on Linux is better than it was during even the Loki era.

(Goddess, I wish that I'd picked up Sid Meier's Alpha Centauri for Linux back in the day.)

The app situation on GNOME, though, isn't nearly as good. We've got some shinies, but we don't have that many, and we certainly aren't getting bundles of them every few months. As someone who's trying to empower application developers by writing tutorials, this concerns me. Who's going to read what I write, and what are they going to make with it? Most importantly, when do I get to use their apps?

Developers don't rush to new platforms

That's the name of an essay by Marco Arment, developer of Instapaper for iOS. In it, he sums up the reasons why iOS took off like a rocket:
  1. Dogfooding: We use iPhones ourselves.

  2. Installed base: A ton of other people already have iPhones.

  3. Profitability: There’s potentially a lot of money in iPhone apps.
All three of these factors converged to create the Linux gaming renaissance. Live CDs and dual-booting made it easy for game devs to experiment and gain familiarity with Linux, and distros like Ubuntu (which pushed brand awareness and ease of use above all else) elevated its public profile. Partly thanks to that, the installed base for desktop Linux is now higher than it's ever been; and by showing their profits from each platform right on their homepage, the Humble Bundle crew empirically demonstrated #3.

As far as I can tell, though, most of the above does not apply to most Linux distros. The one which comes closest is, again, Ubuntu, partly via aggressive promotion of existing GNOME developer tools and the promise of exposure through its Software Centre. Beyond that, though, Quickly and Launchpad also combine to create a packaging environment that -- while unattractive to git veterans -- is apparently easy for newbies to learn. (Which, Ubuntu's focus on newbies is probably another reason why Python's the language they push the hardest on developer.ubuntu.com.)

This is all well and good for Ubuntu, but I personally like GNOME 3 better than Unity and I like Fedora's implementation better. I'm guessing most of those reading on Planet GNOME are with me on at least the first part of that.

So, what can we do to help get apps written that use awesome GNOME technologies?

Lower the bar to entry

One reason things like Desura are so important is because "packaging", from what I've gathered of it, is a chore. Extra work that you do to make sure people can use your app, which you then have to repeat for each distro. Not only does this favor more popular over more focused distros, thereby creating a winner-take-all feedback loop, it also creates extra work and confusion for devs, who already have five different languages to choose from in GNOME documentation and no clear guide for which one they should use.

You'll note that in the case of Linux gaming, the biggest first step was bringing in enough newbs for the market to matter. But the assumption behind most of our docs seems to be that readers won't be newbs, and will have a clear goal in mind ("I want to contribute to X project which I know uses Y language") when visiting. We assume they're familiar with IRC and mailing lists, that they know how to use git, that they have a high threshold for frustration (which is implied in that last item), and that they're comfortable browsing source sometimes in lieu of documentation. We also assume they're console fans who use Emacs or Vi; or at least we seem to, since Anjuta and Glade (our more newbie-friendly dev tools) don't support the latest GNOME widgets yet.

But by acting on these assumptions, we boil our developer base down to only the people exactly like that. We leave out the Girl Scouts, the 13-year-old whiz kids, the hackers of tomorrow who have no idea that they, too, can write apps. And who aren't being taught, because we think they're too short to ride and that's apparently how some of us like it. Like the commenters on Máirín's blog entry linked there, who "don’t want incompetent users [sic] life made easier" and who -- bless their hearts -- think that the reason they themselves are competent is because they're just awesome like that, as opposed to because they fit the narrow profile of the kind of person who thrives in their "meritocracy."

(Let me know if I ever use that word outside of scare quotes, BTW. If I do, it was a mistake.)

Piggybacking to success

Making GNOME development more accessible (and fun!) for newbies is what I and some of the other interns are here for, although you're totally welcome to help if you like and there's a whole page set up with instructions.

Beyond that, I mentioned Desura but what I'm really excited about is the Mozilla Marketplace, which is going to be the "app store" for the Firefox browser and Boot to Gecko devices. The web is the world's biggest and most awesome open-source platform, and GNOME's browser, Web, already has an app mode, plus GSOC intern William Ting is working on building in Firefox Sync. I don't know if non-Mozilla browsers will be able to access the Marketplace, but it seems like integrating it into Web would be a logical next step.

The Marketplace is possibly the most democratic of all existing "app stores." It's like the Identi.ca to Apple and Google's Twitters; the code's open-source, and anyone can roll their own. Hopefully, it will be seamless for people to buy apps from anyone's store, using their Persona.

Something like that for GNOME apps, where it's not tied to one distro and it's easy to submit your own apps, would be an awesome idea IMO. In the meantime, having access to the Marketplace will still help; and if any of those web developers want to bring their JavaScript expertise to the world's coolest (and best for web dev!) open-source desktop, I'll have the docs for them.
jewelfox: A portrait of a foxgryphon with a beak, black fur, magenta hair, fox ears, and a neckband with a large jewel on it. (Default)
The comment section on Danni's post is the reason that certain Free Software communities look like this. (Three cheers to the one woman that they got to stand in front.)

I agree with Michael Meeks that policies like GUADEC's should be explicit in saying what behaviors are prohibited. Because when "freedom of expression" is considered a sacred right, at all times and in all contexts (not just when it involves government censorship), you boil your community down to a very specific group, which just happens to be the one with the fewest PTSD triggers and the most privilege to ignore or walk away from potentially hurtful situations.

Then you end up having to do huge and expensive initiatives to get anyone from the other half of the world's population to even want to show up, and when they arrive they get treated to ablist insults and ignorant rehashings of old arguments, just for pointing out the need for policies against harassment. Because while nobody thinks they're a jerk, everyone's used to an environment that's hostile to women and LGBT people, and literally doesn't know how their words and actions help to create that environment. Sort of like how just because you think that your code will compile, it doesn't mean that it actually will, especially when you're working with a language and processor architecture that you're not used to.

This then has the side effect of people in that group not having any idea what it's like to be genuinely discouraged about trying to become part of that group, or how their behaviours affect others. Which is why discussions which feminists, allies, and others have already had many times and worked out best practices for have to be thrown away and rebuilt in ignorance, instead of actually building on their code base and finding ways to reach out and be even more inclusive of even more potential contributors.

(As an aside, that's why the JavaScript developer docs are the project I care most about. Because I personally need them in order to write GNOME apps, and I can only imagine how many others there are out there who'd be doing so right now if they had any idea how or where to get started.)

No one here wants to be jerks. We all want our code to compile, and our words to be well-received and cause actual discussion instead of PTSD triggers. With that in mind, here are the "developer docs" for that:

Finally, a word about "political correctness."

I once heard that any time you hear the word "drama" being used to trivialize interpersonal conflict, you should substitute the word "conflict" in your head and see if it still seems so silly. Let's try replacing the phrase "political correctness" with "giving a crap about others" and see what happens.
jewelfox: A portrait of a foxgryphon with a beak, black fur, magenta hair, fox ears, and a neckband with a large jewel on it. (Default)
[personal profile] avia, [personal profile] citrakayah, and [personal profile] rev_yurodivy have all written some long essays about the RPG, the latter with input from [profile] alias_pseudonym. I haven't linked to them or read them yet, because I don't have the spoons for it at the moment.

Today an absolute storm of nastiness occurred, including hours-long technical complications and people being jerks online, and so it's been the first really depressing day that I've had in a little while. I did manage to get my Fedora 17 development environment set up, though, today and last night. So there's that.

This weekend I'm going to try to work on a project for the RPG, which I want to get done before I have to start the internship. I'm going to build a site where you'll be able to post your essays and have them all in one place, all organized and Creative Commons licensed for other people (who want to play in this world or make furry Pathfinder characters) to use. There will also be forums for RPing on. [personal profile] rev_yurodivy has volunteered to be in charge of the forums and keeping track of worldbuilding information. Please let me know if there's anything you'd like to do, or think you can do that would help.

It's not going to be anything really big or special, I just want to get this out of the way before everyone loses interest and momentum. I had no idea how excited people would get about designing more stuff for this world, and I want to tap into that excitement while it lasts. So that you all can create an awesome world for me to explore. >_>

Thank you to everyone for your interest so far.
jewelfox: A portrait of a foxgryphon with a beak, black fur, magenta hair, fox ears, and a neckband with a large jewel on it. (Default)
Dun dun dun DUN!

If you're reading this coming from there, hello and I hope I don't weird you out too much. ~.^

Everyone else, this is awesome for so many reasons. Now I just need to get Fedora 17 set up so that I can rewrite the existing JavaScript tutorials to use the new ApplicationWindow class. The current state of the docs is really bad and scattered, and there's no clear path for a JavaScript developer -- in other words, a person who knows the most basic and common language of the web -- to learn how to write apps for GNOME. Hopefully, by the time that this summer is over, I'll have helped change that.

Wish me luck!

About us

~ Fox | Gem | Rei ~

We tell stories, paint minis, collect identity words, and share them all with our readers. If something we write helps you, let us know.

~ She / her ~

Subscribe

RSS Atom

Tags

Style Credit

Page generated Aug. 19th, 2017 05:39 am
Powered by Dreamwidth Studios