Open Source

Opening Keynote: The Power of The Community

Opening Keynote: The Power of The Community

by Yukihiro "Matz" Matsumoto

In the opening keynote of RubyConf 2018, titled "The Power of The Community," Yukihiro "Matz" Matsumoto shares his journey of creating the Ruby programming language and highlights the significance of its community. Matz discusses how he began programming as a teenager, initially frustrated with the limitations of BASIC. He later discovered other languages and developed a passion for creating his own programming language.

Key points include:

  • Early Experiences: Matz recounts his early experiences with programming and his initial inspirations that led to the creation of Ruby.
  • Community Formation: After Ruby's development in 1993, Matz formed a mailing list that fostered early community engagement, highlighting the importance of user feedback in shaping the language.
  • Evolution of Ruby: Ruby grew from initial obscurity to widespread adoption, cited by major companies like Twitter, Netflix, and Airbnb. The community’s contributions, such as Unicode support and generational garbage collection, were essential in this evolution.
  • Open Source Philosophy: Matz emphasizes the difference between traditional and open-source communities, describing the latter as collaborative yet less structured, driving innovation through shared knowledge and voluntary contributions.
  • Community Engagement: The growth of Ruby is attributed to a friendly and supportive community that encourages participation. Matz insists that continuous innovation is vital to retain community interest and combat stagnation.
  • Future Aspirations: Matz expresses excitement for upcoming features in Ruby 3, such as pattern matching and improved concurrency, while urging the community to remain committed to Ruby's ongoing development.

In conclusion, Matz views the community as the driving force behind Ruby's success, rather than the language itself, emphasizing the collective effort required to maintain and advance Ruby in the ever-evolving landscape of programming languages. He encourages attendees to collaborate and innovate for the future of Ruby, reinforcing that everyone plays a key role in its journey forward.

00:00:15.470 Unlike other years, I feel pretty nervous. I don't know why, but I probably feel this way because this is a great venue. This is the city I have seen over and over again in Hollywood movies.
00:00:27.630 When I speak in English, I feel like I’m 30% less intelligent. But that’s okay, because you don’t speak Japanese, right? In 1993, I started developing Ruby. I was 27 years old, and I made it just for fun.
00:00:48.360 I had no ambition to take over the world or make any money out of it. I just created a programming language for fun. When I started programming at the age of 15, I got interested in programming languages.
00:01:18.689 Initially, the only programming language I knew was BASIC, which is pretty much basic. In the early 80s, BASIC was a limited programming language.
00:01:42.570 I didn't know any other programming languages, which frustrated me due to the limitations of BASIC. Then, I found a book that discussed another programming language called Pascal. However, I didn’t have a computer to execute the Pascal compiler back then.
00:02:08.580 Those PCs came with BASIC interpreters, so I had to buy an operating system and a compiler to execute Pascal or C compilers, but those compilers cost around $2000, which was too expensive for a high school student.
00:02:42.320 So, I just read the book and learned many things, such as structured programming, user-defined data structures, and functions in Pascal. These ideas were eye-opening for me.
00:03:06.650 Back then, I was very much interested in programming languages and how the human mind can be expressed through them. Programming languages serve as a means of expressing our ideas.
00:03:43.930 After graduating from high school, I attended university and majored in computer science. University is abundant with books and papers about programming languages, so I studied several programming languages and discovered that each language was designed with specific intentions.
00:04:41.400 Unlike natural languages, which have no single inventor, every programming language has its own inventor or designer. For example, Pascal was designed as an educational programming language, while C was meant to replace assembly for implementing operating systems like UNIX.
00:05:31.229 This intentional design of programming languages sparked my teenage dream to create my own programming language. However, back in the 80s, there was no internet or way to easily access information about compiler implementation.
00:06:14.040 I frequented a local bookstore and took a textbook on compilers, but it was too difficult for a high school student, so I managed my way into university and learned a lot about computer science. After graduating, I worked as a professional programmer for several years.
00:06:53.080 In 1993, I felt I had enough skill to implement my programming language. However, I didn't publish it immediately, as I wanted to refine it first.
00:07:25.770 I worked on it, striving to make it more realistic and usable. Eventually, I decided to put it on the internet. Shortly after that, I formed a mailing list to communicate with the community, as back then we primarily relied on email.
00:08:21.020 Interestingly, while the World Wide Web was invented in 1990, it wasn't available to the general public at that time. I formed this mailing list, and around 200 people joined, establishing a community.
00:09:01.080 This community played a crucial role as many individuals asked questions, reported bugs, and provided suggestions. Back then, we referred to it as free software, as the term 'open source' didn’t come out until 1997.
00:09:45.500 In the year 2000, I received an email from a publisher interested in publishing a book about my programming language. I agreed, although it was challenging for me to translate my Japanese text into English.
00:10:27.000 So, I was open to anyone who could help with writing the English version. The first book, titled 'Programming Ruby', was published in the year 2000.
00:11:09.920 The initial print run of this book resulted in 20,000 copies sold, which was quite a remarkable number considering Ruby was relatively unknown at the time.
00:12:06.070 The first Ruby Conference, known as RubyConf, was held in Tampa, Florida, and it had 34 attendees, which was a significant increase compared to the very early days.
00:12:45.000 Many years later, the number of attendees at Ruby events continued to grow significantly, with conferences seeing thousands of participants from different parts of the world.
00:13:59.150 At one point, there were estimates that the number of Ruby users surpassed over a million, and Ruby became widely used in various applications, especially in web development.
00:14:40.340 Big companies like Twitter, Netflix, and Airbnb use Ruby. The community saw massive contributions from people adopting Ruby for various fields, including embedded programming, robotics, and game development.
00:15:12.920 One of the key strengths of open-source software lies in its community, which can be thought of as a group of people who are passionate about the language and its ecosystem.
00:15:50.870 But this community is quite different because there’s no clear structure; there are no mandatory registrations or leaders. Open-source communities are more virtual, making them sometimes less tangible than traditional communities.
00:16:42.220 Yet, the power of these communities lies in collaboration, where many individuals come together to contribute to projects, share knowledge, and improve the software.
00:17:27.360 I believe this community aspect is what drives innovation. It's similar to a typhoon; you can’t touch nor measure it directly, but you can see the collective effect showcasing immense power.
00:18:24.320 While I often get recognized as a leader of the Ruby community, in reality, I see myself as just one person among many contributors who make it thrive.
00:19:16.600 Over the years, we’ve received numerous bug reports and feature requests from the community, which have shaped Ruby into what it is today.
00:19:51.780 Contributions like Unicode support and generational garbage collection originated from the community, and many discussions about future enhancements still stem from the users themselves.
00:20:42.700 This collaborative spirit extends to improving documentation and writing tutorials, which are crucial for onboarding new users to Ruby.
00:21:25.150 The curiosity within the community keeps it active and growing. People are driven not just by the desire to solve puzzles or gain recognition, but also by the joy of communication and collaboration.
00:22:09.240 Every user brings their unique perspective, forming an eclectic yet cohesive community. This diversity is what helps Ruby grow, and it's essential for the longevity of the language.
00:22:54.800 Ruby once started as a one-person project, but it has grown exponentially with active contributions and a robust body of users and advocates.
00:23:39.330 I believe Ruby has one of the best open-source communities around, marked by its friendliness and supportive nature.
00:24:16.490 The Ruby language is just a tool I created. The community is what has truly brought it to life and given it its value.
00:24:58.440 We must continue to provide benefits and opportunities to ensure the community thrives. Our mission is to cultivate an engaging environment to retain community members.
00:25:20.270 If members feel stagnant, they may venture into other programming languages that pique their interest. Thus, we should continue to innovate and avoid complacency.
00:26:03.690 Just as a shark must keep swimming to survive in the ocean, the Ruby community must keep moving forward. We cannot let hostile claims about Ruby's decline discourage us.
00:26:50.240 Every technology has its peaks and troughs; the key is recognizing the inherent value and moving beyond temporary expectations. Ruby has faced challenges, but it is far from dead.
00:27:52.400 While we may experience slow periods, this is a chance to reassess and reinvent Ruby’s offerings. The vibrant programming environment is part of a larger narrative of evolution and change.
00:28:44.000 Even major platforms that once relied heavily on Ruby have a story of growth. Ruby was pivotal in shaping many successful projects, such as Twitter; overcoming initial skepticism only strengthened this narrative.
00:29:39.220 In light of that history, along with improvements in speed and scalability, Ruby is now more powerful than ever. We are pushing to make Ruby richer in features, tools, and community engagement.
00:30:49.050 I encourage everyone to remain devoted to Ruby and to contribute to its growth vigorously. Please lend a hand in whatever capacity, and be part of our shared journey into the future.
00:31:31.660 I look forward to Ruby 3, which is planned for release in 2020, and I am eager to see components like pattern matching and improvements in concurrency.
00:32:22.940 However, we also must prepare ourselves for ongoing innovation, as the landscape of programming languages continues to emerge. Projects for Ruby after my involvement will involve collaboration from various designers.
00:33:14.510 No matter what happens, I’m thrilled about Ruby’s journey and its potential. Everyone in this room plays a crucial role in that future.
00:34:05.990 So let's collaborate, innovate, and move forward together.