今日推荐英文原文：《Why I Switched to Open Source》
推荐理由：除了能在 GitHub 上看到它的微信小程序版，还能看到它的桌面版，这个项目正是一个基于 Electron 的 GitHub 桌面应用。对于熟练工来说使用 app 和使用命令行界面可能没什么区别，但是对于初学者来说图形界面的确比起命令行界面来说更友好也更容易上手，使用它来先学习 Git 的关键功能是个不错的选择。
今日推荐英文原文：《Why I Switched to Open Source》作者：Bob Roebling
Why I Switched to Open Source
My journey from a proprietary advocate to an open source idealist.When I was in college, I was a die-hard for proprietary software. Microsoft and Apple were the leaders of this showdown while Linux and Google were my mortal enemies.
I had a strong dislike for anything open source because I cared deeply about security and privacy. In my mind, evil-doers would look at open source and either make changes to the code to make it vulnerable or find vulnerabilities in the repository and exploit them to gain access to my computer.
I stuck with the pre-built apps and knew that if I paid for commercial proprietary software, I would be safe from all those evil-doers.
Reports of all of the malware on Android phones and the opposing lack of malware on iPhones only justified my beliefs so much that I wrote an argumentative paper in Composition II on why proprietary software was better than open source.
My teacher was surprised. “Normally I have to listen to students defending open source,” she said, adding more fuel to the fire that drove me to cherish proprietary software. I was so adamant that I even shut down people who argued against me at the end of the essay.
After I graduated from college and a few jobs later, I started getting into software development. My first job as a developer was as a COBOL developer; it was hard at first. The only way of getting any knowledge about how to write COBOL programs was from a handful of websites and senior developers in my department. I was working with proprietary software.
I left the company a few years later to work at another company that I felt I could move away from structured programming and get into a newer object-oriented language. I had to start somewhere, and they needed COBOL developers. That was my way in, and after a year, I moved to a different department where I started writing Python and deploying code to enterprise Linux servers.
Photo by Brad Barmore on Unsplash
As I settled in, I started to find a plethora of resources that enabled me to do my job. I found community groups in forums, Slack, and even in my city that acted as support groups for learning programming and helping you work through issues in your code.
It was at this point where I started seeing how open source made developing new tools more efficient. As I ingrained myself more rooted in the community, I noticed something particularly compelling. People were interested in helping others. People were making tools for free to help others accomplish tasks more efficiently. Those people weren’t looking to be paid for their works, but the ones who made things that were adopted by many people were given donations to continue their work.
When I was defending proprietary software, it was easy because I was looking at the monetary value of what was created. Open source had very little to do with making money, and it was more about creating a culture that could be adopted where people cared more about their reputation to help others than they did about money.
It wasn’t just one person that worked on open source software either. As projects became more widely used, more people would jump on the project to assist in bug fixes, vulnerabilities, and adding new features. This means 0-day vulnerabilities are fixed within days, sometimes they are fixed before they are even announced to the public.
Proprietary operating systems have release cycles when it comes to updates. Windows is patched once a month, while macOS is patched about once a quarter. These patches include minor updates and security patches. Enterprise Linux is usually patched once a month, but non-Enterprise Linux editions are patched as soon as an update is available.
Proprietary software is typically patched like operating systems; however, open source software is patched as needed. This leads to open source software being more secure than proprietary software. Just because the public doesn’t know about it doesn’t mean everyone doesn’t know about it.
With that said, you still have to be careful about which software you use. While I do favor open source software, I primarily use Apple products because Apple has been the clearest on their security and privacy practices. Yes, I know about the iCloud hacks, yes I know about Apple charging too much for their devices (I’ll protest with you). But I don’t care for how much data Microsoft sends back about what I do on my computer, nor do I like how much data Google sends back about what people do on their Google accounts.
With open source products, you can review how much data they send back by looking at the code (it’s not hard to read). Google accounts are proprietary, so is the Windows operating system. If they weren’t, then you’d be able to pull up the metrics they return. I also don’t like some of their practices in the past, most recently, Google decided to scan through my mail and list all purchases made with a credit card not attached to my account and list them under my wallet. That seems way to invasive. There is no real description of what happens when I turn that feature off. Did I turn it off, or did I hide from myself?
I’m happy to run Linux. While I do not have the time to help contribute to open source projects, perhaps someday soon, I will be able to assist in making the software we use better. The culture of open source is the main reason I decided to leave, but deceptive practices done by proprietary companies has kept me from turning back.