Patrick Franken

Open Source Nightmare

Ruby Unconf 2019

00:00:02.520 I need to ask if anyone here has heard about Fritzing. It's quite a lot of you, considering that we mostly have software engineers around here. For everyone else, I will give a short introduction about what Fritzing is, but that comes later. A brief note about me before we start: my name is Patrick Franken. I come from a background of seven years in the industry. If you would like to contact me, please use Twitter since my Instagram is mostly pictures of me in my mirror. I'm also a co-founder of the AIESEC group. What we do is manufacture electronics, like printed circuit boards and similar products. We're the company to turn to for this kind of work. All our in-house software is primarily written in Ruby, with maybe a few C extensions here and there, but it’s about 99.9% Ruby.
00:02:06.649 This talk is not really a technical one. Instead, I will discuss all the issues we faced with this application, which are purely political. This makes it all the more interesting because I’ve realized that many open source projects struggle not merely due to technical problems, like lacking developers, but rather because of how the organization of an open source project is structured. Let me give you a really brief introduction to Fritzing. It's a CAD application; those familiar with CAD understand it's about drawing things—whether mechanical architecture or electronic designs. Fritzing, in particular, is used for drawing electronics, focusing on hobby users, especially hobbyist software engineers.
00:02:39.300 It aims to help software engineers get into electronic engineering using this application. Fritzing was initially founded by the University of Potsdam, which is interesting because the University of Potsdam is a practical university without a strong background in electrical engineering. This convergence on Fritzing aims to bring electrical engineering concepts to creators—artists, software engineers, creative individuals. You might see light installations in museums; it’s quite possible that they were created using Fritzing. So, what do you use it for? I did a project involving some rough wiring with Raspberry Pi, Arduino, and similar technologies. In this example, I have an RFID reader that I put together on my desk, and now I want to professionalize it. How do I achieve that? I compile everything together onto a printed circuit board, and to design these, you need an application like Fritzing, which helps translate my rough wiring into a documented printed circuit board.
00:03:53.730 The description of Fritzing on Wikipedia, which I really appreciate, states that it supports designers and artists. There’s a significant difference in how software engineers view it. However, Fritzing is not suited for designing something like the next iPhone; that will never happen. Fritzing is really for simpler projects. For example, if I have a doorbell and I want to receive a short message on my phone when it rings, I can use Fritzing for that. It connects various components of electronic setups together effectively. Because of its ease of use, Fritzing has gained popularity for documentation in books and educational resources. Its visual aspects resonate well with non-electrical engineers.
00:05:40.979 As of today, Fritzing boasts 200,000 active users. I know this because the application integrates Google Analytics, and I have access to those statistics. It maintains about 200,000 unique users monthly, which is quite significant, especially considering the niche market we’re addressing. I started wondering, what is this application really missing? To put it simply, we face an issue: there are currently 1,103 open issues, and the last release was nearly three years ago, with the previous one coming three years before that. The development of the application has effectively stalled, which I believe is a pity because, in less than a year, it will cease to function due to outdated dependencies.
00:06:43.380 Why am I concerned about this? My company pays Fritzing a considerable sum every month to support it, and for the past three years, nothing has occurred in terms of development. I questioned what is missing for this project. Fritzing has users, which is crucial for motivating developers, and there's funding provided by my company as part of every order processed through Fritzing. This amount contributes to about half of a developer's salary, although we still need more to cover full-time work.
00:07:07.440 However, I believe that for open source projects to function well, they require at least some funding, as there are tasks that might not attract voluntary contributions from developers. It’s vital to incentivize developers' attendance at conferences where they can engage with the community and promote the project. My company represents one of the few remaining contributors still actively communicating with Fritzing. This has led to discussions about a potential fork of the application. However, I am not a proponent of forking because I believe the majority of the user base would remain loyal to the original Fritzing. A fork would likely need to have a different name since the current brand is held by the Fritzing UG.
00:08:05.820 I have no idea how to transition the existing users to a new platform. Most users may be content with the current application as is. Some have suggested starting fresh with a brand new fork, but I foresee its users fading away quickly. After extensive consideration, my stance is that I will not support a fork of this application. Instead, I believe that if we can find a new community manager and persuade the original team that this person will operate independently, there is a chance we could get the support needed to revitalize the project.
00:09:10.320 This talk is a follow-up from one I gave three months ago at FOSDEM, an open-source conference in Brussels. My aim there was to gather interest from individuals who might be willing to join this project and hopefully identify at least one responsible individual to maintain the project. Fortunately, I’m thrilled to report that we were able to find a maintainer based in Berlin. He is in proximity to the original developers and was able to convene a meeting that included both the founders and the public association, where they decided that the existence of these two entities had to be merged. Legal work is already in progress for this.
00:10:02.540 The project has also established a public roadmap, and traction is improving. We’ve seen open issues reduce from over 1,100 to about 200, with consistently recent activity indicated by the submission of new requests and bug fixes. Reflecting on this, I would like to emphasize that if you ever notice an open-source project struggling, particularly one that serves a broad user base globally, don’t hesitate to prepare a talk. Use events like conferences to initiate bold discussions with original creators, as their motivation can be a catalyst for change.
00:11:00.310 When promoting such events and discussions, it’s crucial to be assertive. Often, there are developers willing to help, but they need to observe the project being managed. The original creators need to be accountable for their work, especially when public funding is at stake. Since organizational structures seem complex, it’s vital to ensure coordination across the various bodies involved to ensure everyone is on the same page towards a successful project outcome.
00:12:40.220 To conclude, I would encourage you to consider how you approach poorly funded open-source projects. Be proactive and take the initiative to assemble the community. From my experience, building a strong legal framework and project structure from the outset can prevent many of the difficulties faced later. Remember, if you ever find yourself in the position of managing or contributing to an open-source application, ensure you gather the appropriate people with the right skills to drive it forward effectively. Never underestimate the potential for ordinary individuals to impact the industry significantly.
00:14:02.100 Thank you for your attention. Although I initially didn’t plan for a public Q&A, we still have a bit of time. Would anyone like to ask a question?
00:18:40.670 We've had a discussion around funding recently, and I am contributing half the salary of the new maintainer but seek additional funds to ensure this work can be sustained full-time. There is significant importance in having someone dedicated solely to the project since lack of commitment can lead to excuses that prevent progress. I’m looking toward finding sponsorships that encourage full salary coverage so that we can see regular updates and developments.
00:21:56.490 I appreciate the references made to new funding models like GitHub Sponsors which resemble Patreon. However, before we can jump into utilizing such tools, we need to ensure our structure is solid, meaning the merge of legal entities must be appropriately handled first. It's crucial that anyone who gets involved with these funding sources does so with a clear understanding of the project management to avoid repeating past mistakes.
00:23:02.300 The split of Fritzing into two entities stems from political decisions concentrated around public funding. Ensuring that the governing bodies are aligned means the project can work more cohesively and develop sustainably moving forward. With solid community support and proper management in place, I truly believe that we can transform Fritzing into an even better tool for electronic design.