Hacker News new | past | comments | ask | show | jobs | submit login
Open source is a life changer (piotrgankiewicz.com)
95 points by spetz on July 11, 2016 | hide | past | favorite | 43 comments



OK, the name-dropping and too frequent bolding of text makes for a bit of a grating style, but I enjoyed the enthusiasm of discovery that is at the core of the essay. Getting discovered on Github will seem just superficially cool to those who've been doing open-source development for awhile, but it's hard to comprehend how fun it is until you've "made" it. Kudos to the author.


Thank you, sir. As for the bolding, I use it because many people (including me) at first scan the text looking for important stuff and then decide if it's worth to read the whole article. I'll see what can be improved in that matter :).


Note: take the following with all the grains of salt you take when reading any pedantry...just soapboxy but not meant to be too tone-policing.

I personally prefer headings for the purpose of signaling the main topics of an essay...the main headline, of course, but then the "deck" (usually what would go into the webpage's meta description), and then subsections. The headings do double-duty -- emphasizing key points and visually separating sections -- without adding too much gratuitous weight.

Keep in mind that you can use physical priority to signal emphasis. The first few words of any paragraph are likely to be noticed by a skimmer, so adding extra weight to the type can be redundant. IMHO, this also applies to the closing words of a paragraph.

Also, in-paragraph hyperlinks also serve as a kind of emphasis (while providing useful outbound references). In your current style sheet, hyperlinks are underlined. Again, everyone sees things differently, but I personally notice hyperlinked text and mentally treat it as "kind of important", particularly for proper nouns and keywords (e.g. "New Relic" and "Nagios")

Here's a sample graf of yours with how you emphasized it:

> I’d say that the most difficult ones were the first few weeks. After that period I’ve known pretty much everything in terms of the project structure that I will be following. Once I’ve established my design patterns it literally became a no-brainer to create new __Watchers__ or __Integrations__. I’ve also made it quite easy to create your own extensions which is described __here__ and plug into the overall pipeline seamlessly. The key was to design the very simple interfaces and let the other part of the framework do the heavy lifting.

I don't think anything in that graf needs to be emphasized (the hyperlinks are fine). The first sentence speaks for itself. The last sentence, if you feel it's important enough, could be its own standalone graf.

Again, treat these as the curmudgeony suggestions of someone who still subscribes to a print newspaper. But I felt your otherwise great essay was unfairly maligned by commenters...but I could sympathize with them. Your words speak well enough on their own, no need to add the CSS equivalent of exclamation marks so frequently :)


Thank you for such a detailed answer, I'll keep that in mind when I'll be writing my next post!


I agree with danso. Your overuse of bold, especially for whole sentences, feels like shouting and not much better than ALL CAPS. Feels like being talked down to as if I can't decide for myself that a sentence says something really important.

> first scan the text looking for important stuff

That may work if you bold a few choice words or phrases, but not whole sentences. Every time I hit a bold sentence it breaks the pace of my scan.

Subheadings would work much better than those bold sentences.

By bolding so much, you've totally diluted the power of the bold!

Anyway, don't take an HN comment's word for it. Ask some writers you respect.


Duly noted, will fix bolding issue in the next posts.


>> what possibly could I create, so that other people would find it useful? It seemed like everything was already there

I do not understand the problem. Just look at the high-priority projects by FSF [0]. There is a plenty of work to do...

[0] http://www.fsf.org/campaigns/priority-projects/


There's a reason these projects have been on that page practically forever. They are all highly specialized, require a lot of domain knowledge and a significant effort.


Their list is a bit outdated I think.

Some items are still relevant, but IMHO some big priorities are:

* OS packaging tools that provide sandboxing and dependency resolution, in a saner way than containers. Contributing to Guix or Nix would be ideal.

* A mobile OS that has at least a completely free userland. In the short term, only Android derivatives seem plausible. The Guardian Project + Copperhead OS + F-Droid alliance seems very interesting and worth contributing to: https://guardianproject.info/2016/03/28/copperhead-guardian-...

* Decent multi-device messaging, to replace WhatsApp et al. Something like Matrix or Ring, or Signal without Google Cloud Messaging.


I think Gnash could be kicked from that list. Let Flash die.


Shumway is far more promising and it's backed by Mozilla, which does have the domain knowledge. https://mozilla.github.io/shumway/


I do understand him. He probably cares about none of these things, and for all things he does care he probably saw a library or framework or something similar. This gives him false impression that there's nothing more to do, or at least it requires great cleverness to think something up.

I take my ideas from my job. I mostly think of myself as a sysadmin, but I write in several languages, I'm interested in data processing (which leads me to various places, like topic maps, indexing semi-structured data, or event stream processing), and I see what we have to work with logs, with monitoring, with infrastructure inventory, and with documentation. This gives plenty of projects to improve my field, I just don't have the energy to carry them all out.


So true, just because there's hundreds of tools or services out there, it doesn't mean that they cover all of the possible aspects.


I get asked by all my graduating friends how they can beef up their resume with github contributions. None of them know where to start. My advice is usually "Find a project you think is cool and write documentation, write test cases, and help people in the github issues."


A serious two word request from someone who's a huge fan of open source projects and uses a lot of them:

"Improve Descriptions"

A lot of tools have a similar generic description: e.g.: "This tool helps programmers do more." Please compare and contrast your tool with others with the same general idea. It'll help us decide whether to adopt it or not.


Do you refer to the phrase: "OPEN SOURCE & CROSS-PLATFORM TOOL FOR SIMPLIFIED MONITORING" or something else?


That phrase is pretty bad.

Cross platform? Does this mean it runs on Linux and Macos? POSIX? Does it run on Windows? VMS? AIX? Apple Watch?

Simplified from what?

Monitoring what? Babies? Computers? Nuclear proliferation?


That phrase is not bad. But even this project can be better described via a table that compares it with alternatives.


Good idea, I will think how to improve both, the landing page and the GitHub's readme file.


Regarding issues: "just answer politely and let them know that you will at least try to resolve the issue at some point in the future."

If you're too busy, maybe a better approach would be to encourage the poster to submit a PR along with test cases.


I'd love to see Warden integrate with Cachet [0] as they'd go really well together!

[0] https://cachethq.io


Will take a look at it, would you be so kind to open a new issue https://github.com/warden-stack/Warden/issues?


Done!


Thanks, currently I'm working on the MS SQL integration, so it will be my next task!


Open Source is a life changer because I got some peer recognition and attention...meh!


Feels like a clever combination of an ad and a CV, masked as a praise for open source.


Of course! GitHub stars are the only intrinsic good.


Indeed they are (ok I hope that you've realized I was partially joking about this). Anyway, getting attention is important to make your OS project more recognizable, so what's wrong with that? :)



That article makes a gross misinterpretation of free software right off the bat:

> It’s not about source code or idealistic world views or desire to customize software, it’s about not paying anything.

That's just patently false.


I feel like there's 2 completely different paradigms to open source, or at least it felt that way for me. There's starting your own project and contributing to someone else's.

I initially started with my own projects, a few very minimalistic plugins or tools to scratch an itch. I put them on Github with no real advertising, save mentioning to the json resume folks that I was at least willing to help with LinkedIn importing since I was working rather extensively on converting my linkedin data to json resume. That project is pure garbage in terms of how brute force and un-developer-friendly it could be, but it still got a handful of stars in spite of that not really being the purpose anyway.

Fast forward to consuming open source plugins for work purposes and seeing projects almost there, needing a PR or two. In a couple of instances I'll fork a project and merge PRs manually because I see business value in circumventing waiting on the author. I may also need something they would otherwise reject. I feel like this is stage 2. I'm getting value for my own needs, I'm using the tools at my disposal not through direct PRs to my project but capturing the work of others.

It wasn't until I got to what feels like stage 3, getting my first PR merged into the core project I used. My very first PR was rejected and immediately feels like a loss but I was trying to tackle the problem using an admittedly 'hacky' way that while it solved the problem, smelled terrible. Getting that first accepted PR, even on the very low hanging fruit I've tackled up until now, is its own kind of high. Having done it on a few other projects spanning multiple languages and setups, I feel stronger as a developer whether or not that equates to actual quantifiable results. If I can clone your project and contribute one of two things is happening, either it's drop-dead simple (in most cases it certainly is) or I'm showing my competency for being able to do what the maintainer says I can do. That said I have contributed to some projects that were unintuitive and yet I was still able to solve the problem at hand. While frustrating as hell in comparison, even those projects have a tendency to teach me quite a bit.

It's because of stage 3 that I now actively try to evangelise my developer friends to make the same plunge, many of whom don't feel they have the time to contribute. I not only found that I have had the time, but it becomes a worthwhile pursuit and it shows my competency to others. Having said all of that I do feel I've gotten lucky. My first PR rejection was handled so amazingly well and when asking for clarity, I wasn't made to feel inferior. They clearly explained the problem, thanked me for spending the time on it at all (which is probably the most crucial thing), and proposed the more elegant solution of waiting for gulp 4. Getting something like "This is dumb. Why did you even submit this?" would've probably turned me off of contributing for another few years overall, much less to their project again. Even faced with that, I would still push myself to contribute because the benefit of even one accepted PR outweighs all the negatives.


That was an interesting read, thanks for posting this. I guess that the moral of the story is to keep trying and don't give up with contributing whether it's submitting PR, opening new issues or running your own project.


A bit of attention whoring.


    This is not going to be one of these catchy titles, 
    so “what kind of bs am I going to read here” has 
    little use in this place. Actually, this is 100% 
    true that contributing to the open source community
    might greatly affect your life
How to say one thing and communicate the exact opposite.


Well, if you say that this post was all about bs then I won't disagree with your opinion, as you have a right to say so :).


I presume you are the author. Listen...

Free software has changed my life for the better. A LOT of people have had very similar experiences.

We dream and worry about and hope and fight for and code for and watch and love the future history of humanity as it blossoms and twists and writhes into everyone's lives.

Software is eating the world. Free software developers are influencing that event (a little?).

Just seeing it and knowing it changed my life. It changed the eyes with which I see the world. So I thought I knew what your post was going to be about.

Keep looking, spetz. :)


Thank you for this well-written answer :).


I can agree with that, but it's also a part of OS advertising, seems that I've achieved a goal in some way ;).


[flagged]


Considering it has an MIT licensed implementation for pretty much all platforms (including mobile), C# is in a better place than many languages if you want to stick to open source. The one for desktop (CoreCLR) is also first-party.


Slapping a MIT license on a piece of code is often not enough. People want to be able to rely on the community and the companies behind a technology.


>People want to be able to rely on the community and the companies behind a technology.

Like Oracle and Java? /s


.NET and C# are open source and multi-platform with the release of .NET Core.


Exactly, however .NET Core is still a little bit of a mess, but I do believe it will get better.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: