Should Apple open source Swift? Seven reasons for and against

Should Apple open source Swift? Seven reasons for and against

It has only been a few months since Apple's new programming language Swift was first unveiled, but Apple has already placed its bets on it with confidence. As the core of its promotion, adjectives such as "cleaner", "simpler", "modern" and "powerful" have been given to the Swift language one by one.

However, the entire technology industry can only make a hypothetical outlook on Swift at the moment - although the programming tool itself is free, it can only run in Xcode or Playground. In other words, it can only run on Apple's hardware platforms. Of course, if everyone is really desperate about this setting, they can use some of the basic code in Swift without touching any resource library.

It's a little puzzling that Apple would take this approach. In recent years, the creators of programming languages ​​have been trying to find ways to ensure that their code can run on as many different computing devices as possible. This means they need to open source their tools and do their best to promote their work to every corner of the technology field.

But it's clear that Apple doesn't follow the beaten path. While on the surface, it might seem ideal to put Swift in everyone's hands in an open manner, that doesn't mean Apple will take that approach. We can't assume that Apple is willing to design Swift for free or in a way that maximizes the interests of users. In fact, for a language like Swift, open source is actually a difficult and deep problem.

Below, I will first talk about the seven benefits of Apple open sourcing Swift, and then think about the seven reasons why this situation cannot happen.

Why Apple should open source Swift: Open source promotes innovation. In the field of programming, new ideas, new tools, and even new architectures often start their marketing journey as open source. Breakthrough languages ​​like JavaScript, PHP, Clojure, and Haskell all provide open source engines to attract programmers. For example, Node.js was able to successfully bring JavaScript to the server environment thanks to open source JavaScript engines represented by V8 and Rhno. If you want your work to attract more technical people, the easiest way is undoubtedly to promote your code for free on sharing sites such as GitHub or Sorceforge, and make it as widely available as possible. Developers will gather around it and use their wisdom and efforts to expand and practice it.

Why Apple won't open source Swift: Innovation isn't really what Apple is about. The syntax looks different, and Apple kept saying "new" in its press release. But at its core, Swift is a savvy business strategy to keep an existing library alive and squeeze more out of it.

Essentially, Swift is designed to support the entire iOS ecosystem based on Objective-C. This means that the Swift language can be closely connected with Objective-C rather than completely replace it. In other words, Apple, as a ruler who vows to keep all assets firmly in its own hands, does not care about what breakthroughs the project can make after adopting the open source mechanism. Apple's intention is to ensure that its own hardware devices can continue to run smoothly, rather than encouraging vigorous but chaotic extensive innovation.

Why Apple should open source Swift: The future technical workforce will have extensive open source experience. One computer science professor told me that, despite his love for Swift, he wouldn't recommend his students buy expensive hardware to use the language. For this reason, many computer science courses tend to use free IDEs, such as Eclipse, that run on commodity hardware. For the same reason, many beginner training courses focus on HTML 5, JavaScript, and Firefox OS. Self-taught hackers are also taking the same path: open source or give up.

If Apple wants to attract the favor of educational training and self-study groups, it must ensure that Swift can run on cheaper hardware devices. In contrast, after children learn Java programming skills on Eclipse, they only need to spend a few minutes to install the Android development kit to create their own applications. It is not so convenient and quick to save money to buy a Mac device and install Xcode. Faced with this group of new forces familiar with Android development, Apple may have to work harder to maintain a good ecosystem in the next few decades.

Why Apple won't open source Swift: The market is the substantive factor that determines the direction of developers. Although Android development is indeed more attractive to young development learners in terms of convenience and economic cost, it is market demand and recruitment conditions that ultimately affect students' choices. For application developers, iOS is still the mobile system platform with the greatest potential for revenue, and revenue is proportional to job opportunities. Students certainly hope to be able to invest in the platform with the largest group of paying customers, and as of now, the low-end Android mobile phone environment is not enough to carry the entrepreneurial dreams of young people. As long as Apple continues to maintain its leading position in this regard, the mass base of learning its programming language will not be shaken-even if it means that they need to invest more money to purchase expensive hardware as a ticket to entry.

Why Apple should open source Swift: With open source, “there are no bugs.” A core tenet of open source is that all possible or actual software vulnerabilities are uncovered by a large community of contributors. As a result, most common problems that plague new code are hard to find in well-maintained open source projects. Code that is handled by a broad community of contributors is the best place to debug. Some developers may make a mistake, but someone, even someone they’ve never met, will find it and fix it. If Swift is to grow faster, add features, optimize performance, and improve security, it must make it easier for programmers to profile their code and share their tweaks with others.

Why Apple won't open source Swift: Closed source has its own inherent advantages. The open source community may often boast of its excellent bug fix record, but it must be admitted that they have no way of accurately measuring the actual efficiency of bug fixes. It is simply unrealistic to claim that all bugs have been fixed. Don't believe it? Ask those who have been loyal supporters of OpenSSL for many years.

The closed source mechanism requires us to fully trust a set of unknown black boxes. Although it may be full of vulnerabilities or even backdoors, this approach also has its own advantages: malicious people are just as confused about the actual situation as we are. Although this state of ignorance is not worth celebrating, it is sometimes a positive factor. In addition, the most serious vulnerability in Apple's history, "goto fail", happened to come from its open source code a long time ago. Obviously, the masses in the open source industry spent many years without discovering this fatal troublemaker.

Why Apple should open source Swift: Open means rapid spread and emerging markets. Once upon a time, Apple ruled the smartphone world alone. But Google has since gained a staggering market share by open-sourcing Android—85% of smartphone sales, according to one recent estimate. Such numbers are undoubtedly attractive to developers. Open source provides practitioners with a hidden path to market penetration, new devices, and a huge number of new partners. Android products on the market now cover TVs, cameras, laptops, and even refrigerators. In contrast, the biggest news in the iOS world is that the iPhone now offers more colors to choose from.

Why Apple won't open source Swift: Market share brings fragmentation problems. A significant market share can indeed attract more attention and more innovative thinking, but it often leads to division and confusion - or in the words of Android advocates, "device diversity". Why does Apple encourage more Swift versions to give beginners or developers headaches? Supporting iPhone 4 and iPhone 5 at the same time is already a big problem. This is not just one person's opinion. In fact, Android developers are also full of complaints about the endless system versions.

Besides, what if someone wants to come up with some new Swift code that only runs on Linux and not on Macs? That obviously doesn't help Apple and its customers. Apple wants to provide business solutions that work smoothly for everyone, not train a bunch of hacker-level programmers to deal with these complex problems.

Why Apple should open source Swift: Open source ensures a strong ecosystem of tools. If you want to develop apps for Android, you can use most of the existing tools from the Java open source world. Eclipse? No problem. IntelliJ? Sounds good. Want to try Ant or Maven from the command line? They both have a large and loyal fan base. The list of tools available in the Java world is quite rich and full of innovative practices. And the most important thing about this list is that Sun/Oracle did not have a role in the creation of any of them. Open sourcing Swift will foster a strong developer ecosystem and ensure that developers have more reasons to choose this programming language.

Why Apple Won't Open Source Swift: Openness is only one aspect of Android's success. Apple may have lost its dominance in smartphone sales, but the company's audience is more willing to buy more apps. Numerous studies have shown that iPhone users pay more for app purchases than Android users - a fundamental reason why mobile developers will always choose iPhone as the first platform. It also makes the App Store a more ideal purchasing experience. If developers can easily deploy Swift code on both the iPhone and Android markets, Apple will completely lose its dominance in the app field. If people can enjoy the same app experience on expensive iPhones and cheap Android devices, the low price will naturally win.

Why Apple should open source Swift: Apple has a responsibility to open source the project. Apple isn't taking all the credit for Swift. In fact, the new programming language stands on the shoulders of giants. Unlike gcc or LLVM, which Apple developed independently, Swift's foundation came from the open source world, and returning it to open source is the way Apple should return the favor. Apple made a series of open source contributions to BSD with Darwin, why not repeat the same good decision in the mobile space?

Why Apple won't open source Swift: Apple doesn't need to open source anything. If you build something with open source tools, you don't have to make it available in the open. Some licenses, like the GPL, require you to share everything you build with their tools, but that doesn't apply to new projects. Apple builds something new with open source. We've done the same thing and kept it proprietary. If we can, so can Apple.

Why Apple should open source Swift: Swift can be cloned. Microsoft has been trying to keep .Net limited to Windows. In response, the open source community cloned it. The same could happen with Swift. If someone builds a complete open package, that version will become the most popular primary vehicle for the language. Programmers will use it to turn their ideas into reality, while Apple can only watch. But by open sourcing Swift, Apple will be in a good position to fend off other legitimate competitors from the beginning.

Why Apple won't open source Swift: Who would want a clone? An iPad costs $500 or more. But other tablets that run Android can be found on eBay for less than $100 and are hard to find. Which company's store always has long lines and customers waiting to pay? Yes, some hacker in a basement could clone most of the features in Swift, but they would find that their efforts are meaningless and would be better spent on finding a well-paid job. Until they get funding from big manufacturers, these clones will remain a demonstration of technical ability rather than a viable means of profit. Furthermore, until people line up to buy commercial hardware running open source Swift code, such profits will not exist.

English link: http://www.networkworld.com/article/2607031/software/7-reasons-apple-should-opensource-swift-and-7-reasons-it-wont.html

<<:  Unveiling WeChat Enterprise Accounts: The Mobile Application Portal for Enterprise Customers

>>:  How to manage contacts in WeChat Enterprise Account Development

Recommend

For the entire process of online event operation, just read this article!

Event operations play an important role in the op...

Amazon's new wave of machine learning: powerful and actionable

[51CTO.com Quick Translation] Professional users ...

Industrial Big Data: Workshop IoT Data Management

In the article "Re-cognition of Manufacturin...

The whole process of an Internet product from idea to realization

A good product has three basic conditions: value,...

3 Steps to User Growth Strategy

User growth strategies need to be changed accordi...

Douyin Juliang Qianchuan activation process

To open a Juliang Qianchuan account, you need to ...

Key points for Google English SEO optimization

Before studying this tutorial, you must first und...

Vitamin D, an unexpected helper in the fight against COVID-19?

Studies have shown that vitamin D can play a role...

Which way to the moon?

Recently, the "Artemis 1" has come to a...

Weather satellite: predicting wind, frost, rain and snow

Among all kinds of satellites, there are some tha...