A Q&A with Comcast's Nithya Ruff
Nithya Ruff heads Comcast’s open source office, and is a widely recognized pioneer in the open source community. She embarked on her first open source software journey in 1998, at Silicon Graphics Inc., when she was asked to join an open source strategy group. Its task: To figure out how to create a community around x86-based servers, loaded with Linux or Windows NT, and nothing proprietary. Since then, she’s carved a path throughout the open source community as a leading light and wise advocate. She’s a featured leader In the web docuseries “Chasing Grace,” which highlights women in technology, and serves on boards including The Linux Foundation. Part of her power is rooted in her deep commitment to mentorship, mutual respect, and community health. In this edited Q&A with RDK contributor Leslie Ellis, Nithya shares her views on what it takes to build a vibrant open source community – and what should be on the RDK’s to-do list.
RDK: What works and doesn’t work, when building a healthy open source community?
Ruff: What works is when you make it dead easy for people to get involved. Such as documentation, such as onboarding, such as how-to-contribute guides. Open source communities are healthiest when they have sufficient members of people and mentors, who are there to answer questions in forums, and who are positive and encouraging when a newbie comes to contribute. It’s really the onboarding and the welcoming nature of the community that’s important. It’s the culture of the community.
What doesn’t work is if it’s so hard to understand how to navigate, or how to contribute, which can create a perception that there’s bias in the system – if you come from a certain company, your contributions won’t get accepted. Lack of transparency is the worst thing you can do in an open source community.
One of the worst complaints I hear from people is, it’s so hard to get involved in that project. There’s no description of it. The license is hard to understand and navigate. There’s no onboarding. There’s no coding style book. When I submit something, they don’t even look at it. And when I do, they’re nasty in their comments. In other words, there’s no welcoming, no nurturing.
Another thing that can happen is burnout. There are lots of open source projects out there which struggle because they only have one or two maintainers. If one burns out or wants to take a break, or if they get hit by a bus, there’s no one to take over. So, the sustainability aspects of a project are very important. A good project is a sustainable set of people contributing. It has money; it has governance.
RDK: What metrics illustrate the health of an open source ecosystem?
Ruff: A broad set of users, a broad set of contributors, and a frequent cadence of releases. There’s active communication, there’s debate, there’s a roadmap, there’s transparency. I love the fact that the RDK community really has the face-to-face conferences – that’s such an important part of building connections and trust and personal relationships.
RDK: You’ve said that trunk-based development, meaning staying close to the active release cadence, is a way to reduce “technical debt.” Can you elaborate?
Ruff: Technical debt is when we take an open source component, and we fix or modify it for our own use, and don’t contribute those changes or patches back to the main project. This means that they don’t get absorbed into the main project. As a result, we’re left carrying the patches from release to release from the fork that we made from the main project. It costs a lot of money for a company to maintain patches, along with the main project, over the course of the project. Every time the main project moves forward, you have to re-integrate your special patches, and re-confirm that it works with the new release. So, if you don’t stay top-of-trunk you incur technical debt. If you do, you reduce technical debt. Ben Hilburn wrote a great article on this called “The Benefits of Upstream Compatibility and Upstreaming.” In general, the reduction of technical debt is a good concept to follow for all open source projects.
RDK: What best practices do you recommend, when it comes to designing / building code that ultimately builds trust with consumers?
Ruff: Customers reward us with loyalty when we are reliable, and we make sure we’re reliable. From a software perspective, reliability means working on best practices like up-streaming your patches; making sure, from a security perspective, that you’re up-to-date and using the best tools; that you’re collaborating on standard software. All of this allows us to be more reliable and effective and faster, because it leverages open source wherever possible. You’re not re-inventing the wheel, you benefit from hundreds of eyes on the code and as a result, you can go faster and more reliably.
RDK: In your view, what can RDK be doing better?
Ruff: I would like to see us showing up at more open source events. I feel that we have been somewhat insular, as a community and should work more with the upstream communities that we draw code from. For instance, I would like to see more of the RDK team come and talk about the real world RDK project at the Embedded Linux summit that’ll happen in August! There is a lot of very interesting work being done at scale across a very large community who are using open source in production. This will be of great interest to many in the open source community.
Alticast Inc. is excited to introduce its first contribution to the RDK community. The Alticast Xconf Log Server is a software server component that works
What does it take for a room full of people to write a code base for an attractive, relatable UI/UX, for a legacy/lower-end set-top box
RDK Management is an open source consortium that manages the Reference Design Kit (RDK). RDK is an open source software platform for the connected home that standardizes core functions used in broadband devices, set-top boxes, and IoT. It enables operators to manage their devices; control their business models; and customize their apps, UIs and data analytics to improve the customer experience and drive business results. The RDK community is comprised of more than 500 companies including: CPE manufacturers, SoC vendors, software developers, system integrators, and service providers. For more information on the tools, training, and events provided by RDK Management, please visit: www.rdkcentral.com.
- the categories of personally identifiable information about you that may be collected and how that information is used;
- how we collect and use non-personally identifiable information about your use of the website;
- the categories of persons or entities with whom the information may be shared;
- the choices that are available to you regarding collection, use, and distribution of the information;
- how you can opt out of RDK-related promotional e-mail;
- the kind of security procedures that are in place to protect the loss, misuse or alteration of information;
- how you can review and request changes to the information; and
What categories of information do we collect?
The information collected by RDK Management falls into two categories: (1) information voluntarily supplied by users of the website and (2) tracking information recorded as users navigate through the website. Some of this information is personally identifiable information (i.e., information that identifies a particular person, such as e-mail address), but much of it is not.
To make use of some features on our website, like the RDK Wiki, users need to register and provide certain information as part of the registration process. We may ask, for example, for your name, e-mail address, street address, and zip code. We might also request information about your employer and the type of work that you do, in order to determine whether your employer is a member of the RDK program, to help us ensure that you are given access to the correct portions of the website, and to tailor our website content and e-mail (if you’ve registered to receive e-mail) to your interests to make it more useful to you. If you are a registered user, our systems will remember some of this information the next time you log in and use our website, but you can always review and change your information by logging in and editing your profile here.
The more you tell us about yourself, the more value we can offer you. Supplying this information is entirely voluntary. But if you choose not to supply the information, we may be unable to provide you with access to all of the features of this website. There are certain features of this website, including the Wiki and requesting to receive RDK-related promotional e-mail, that you will not be able to use unless you provide certain personally identifiable information about yourself. When you submit any personally identifiable information over this website, RDK Management (i) will use the information for the purposes described at the time you submit it and (ii) may use the information to contact you, subject to the contact preferences in your profile. If you want to remain completely anonymous, you’re still free to take advantage of the publicly available content on our website without registration.
Does RDK Management analyze my interaction with this website?
What categories of persons or entities do we share personally identifiable information with?
We consider the personally identifiable information contained in our business records to be confidential. We may sometimes disclose personally identifiable information about you to our affiliates or to others who work for us. We may also disclose personally identifiable information about you to service providers and vendors, and to others who provide products and services to us. For example, when you use certain functions on this website you may notice that the website actually collecting or processing the information may be other than an RDK Management website. We may be required by law or legal process to disclose certain personally identifiable information about you to lawyers and parties in connection with litigation and to law enforcement personnel. For example, we may be required by law to disclose personally identifiable information about you without your consent and without notice in order to comply with a valid legal process such as a subpoena, court order, or search warrant.
What do we do to personalize your use of this website?
The cookies we use don’t directly identify users of our website as particular persons. Rather, they contain information sufficient to simplify and improve a user’s experience on our website. For example, we may use session-based cookies to track the pages on our website visited by our users. We can build a better website if we know which pages our users are visiting and how often. Or, we may use persistent cookies to simplify access to a user’s account information over our website, for example.
In connection with the standard operation of RDK Management’s systems, certain non-personally identifiable information about users of this website is recorded. This information is used primarily to tailor and enhance users’ experience using the website. We may use this information in an aggregate, non-personally identifiable form to, among other things, measure the use of our website and determine which pages are the most popular with website users.
How do users opt out of RDK-related promotional e-mail?
You can opt out of receiving RDK-related promotional e-mail from RDK Management using the opt-out link found in the footer of any of these e-mails. You can also e-mail the request to the attention of “RDK Management – E-mail Opt Out” via e-mail to email@example.com.
All information gathered on our website is stored within a database accessible only to RDK Management, its affiliates, and their specifically-authorized contractors and vendors. However, as effective as any security measure implemented by RDK Management may be, no security system is impenetrable. We cannot guarantee the complete security of our database, nor can we guarantee that information you supply won’t be intercepted while being transmitted to us over the Internet. If you don’t want us to know any particular information about you, don’t include it in anything that you submit or post to this website or send to us in e-mail.
A Special Note About Children
This website is not directed to children under the age of 13, and RDK Management does not knowingly collect personally identifiable information from anyone under the age of 18 on this website.
Effective: February 5, 2015
We invite you to send in your questions or comments about this website, or to bring to our attention any material you believe to be inaccurate. You may provide general feedback using the contact forms found on the website.
Contents and Linking
The material that appears on this website is for general informational purposes only. While we try to ensure that any information we post to this website is both timely and accurate, errors may appear from time to time. This website may not be updated daily, and certain information may not be the most current information available. Though we may post follow-up information and reports, and may continue to provide access to the original information and reports, as in an archive of news stories, for example, we may not go back and change the original report to reflect new developments. If you’re looking for the most recent information on a given subject be sure you’re not looking at an out of date report. Before you act on information you’ve found on our website, you should independently confirm any facts that are important to your decision.
RDK Management is not responsible for, and cannot guarantee the performance of, any products and services provided by any advertisers or others, including those to whose websites we link. A link to another website does not constitute an endorsement of that site (nor of any product, service or other material offered on that site) by RDK Management or its licensors.
Although we make this website freely accessible, we don’t intend to give up our rights, or anyone else’s rights, to the materials appearing on the website. The materials available through this website are the property of RDK Management or its licensors, and are protected by copyright, trademark and other intellectual property laws. Except for the limited licenses expressly granted to you in these terms, RDK Management and its licensors expressly reserve all other rights and licenses. You are free to display and print for your personal, non-commercial use information you receive through this website, but you may not otherwise reproduce or modify any of the materials without the prior written consent of their owner. You may not distribute copies of materials found on this website in any form (including by email or other electronic means), without prior written permission from their owner. Of course, you are free to encourage others to access the information themselves on this website and to tell them how to find it. Requests for permission to reproduce or distribute materials found on this website should be firstname.lastname@example.org.
We welcome links to the homepage of our website. You are free to establish a hypertext link to the homepage of this site so long as the link does not state or imply any affiliation, connection, sponsorship, or approval of your site by RDK Management. We do not permit framing or inline linking to our website or any portion of it.
We don’t want anyone to be confused as to which materials and services are provided by RDK Management and which aren’t. You may not use any trademark or service mark appearing on this website without the prior written consent of the owner of the mark.
Submissions and Postings; Disclosure
You are solely responsible for any information that you submit or post on this website. By using this website you agree not to submit, post or transmit any defamatory, abusive, obscene, threatening or illegal material, or any other material that infringes on the ability of others to enjoy this website or that infringes on the rights of others. We retain the right to deny access to anyone who we believe has violated these terms.
We reserve the right (but assume no obligation) to monitor, delete, move, or edit any submissions or postings that come to our attention that we consider unacceptable or inappropriate, whether for legal or other reasons. We will comply with all requirements of the law regarding disclosure of any submissions or postings on this website to others, including to law enforcement agencies and parties making civil legal requests. We will also comply with any other requirements of the law regarding disclosure of other aspects of your use of this website.
RDK Management welcomes your feedback about this website and our products and services. We ask that you limit your feedback to these items. Nevertheless, any communications you send to this website or otherwise to RDK Management are deemed to be submitted on a non-confidential basis and become the sole property of RDK Management. RDK Management may, in its sole discretion, reproduce, use, publish, modify, disclose, distribute, or otherwise use these communications in any way and for any purpose. All such uses by RDK Management shall be without liability or obligation of any kind to you. These uses may include, for example, use of the content of any such communications, including any works, marks or names, ideas, inventions, concepts, techniques or know-how disclosed therein, for any purpose without any obligation to compensate the originator of such communications and without liability to that person.
RDK Management reserves the right at any time to terminate your use of this website if you fail to comply in full with any of these terms.
You agree to indemnify, defend, and hold harmless RDK Management (including its parents, subsidiaries, and affiliates and all of their respective officers, directors, employees, agents, licensors, suppliers and any third-party information providers) against all claims, losses, expenses, damages and costs (including reasonable attorney fees) resulting from any breach of these terms or unauthorized use of this website. Your indemnification obligation shall survive the termination of these terms. At our expense and election, we reserve the right to assume the exclusive defense and control of any matter subject to indemnification by you and you agree to cooperate with RDK Management in connection with our defense.
Disclaimer of Warranties and Liability
YOU AGREE THAT YOUR USE OF THIS WEBSITE IS AT YOUR SOLE RISK. BECAUSE OF THE NUMBER OF POSSIBLE SOURCES OF INFORMATION AVAILABLE THROUGH THE WEBSITE, AND THE UNCERTAINTIES OF ELECTRONIC DISTRIBUTION, THERE MAY BE INTERRUPTIONS, DELAYS, OMISSIONS, INACCURACIES, OR OTHER PROBLEMS WITH SUCH INFORMATION. IF YOU RELY ON THIS WEBSITE OR ANY MATERIAL AVAILABLE THROUGH THIS WEBSITE, YOU DO SO AT YOUR OWN RISK. YOU UNDERSTAND THAT YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR LOSS OF DATA THAT RESULTS FROM ANY MATERIAL AND/OR DATA DOWNLOADED FROM OR OTHERWISE PROVIDED THROUGH THIS WEBSITE.
THIS WEBSITE IS PROVIDED TO YOU “AS IS,” “WITH ALL FAULTS,” AND “AS AVAILABLE.” RDK MANAGEMENT AND ITS AGENTS AND LICENSORS CANNOT AND DO NOT WARRANT THE ACCURACY, COMPLETENESS, USEFULNESS, TIMELINESS, NONINFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OF THE INFORMATION AVAILABLE THROUGH THE WEBSITE, NOR DO THEY GUARANTEE THAT THE WEBSITE WILL BE ERROR-FREE, OR CONTINUOUSLY AVAILABLE, OR THAT THE WEBSITE WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS.
UNDER NO CIRCUMSTANCES SHALL RDK MANAGEMENT (INCLUDING ITS PARENTS, SUBSIDIARIES, AND AFFILIATES) OR ITS AGENTS OR LICENSORS BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DAMAGES ARISING OUT OF ANY USE OR MISUSE OF THIS WEBSITE, INCLUDING, WITHOUT LIMITATION, LIABILITY FOR CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR SIMILAR DAMAGES, EVEN IF ADVISED BEFOREHAND OF THE POSSIBILITY OF SUCH DAMAGES, REGARDLESS OF THE FORM OR CAUSE OF ACTION INCLUDING, BUT NOT LIMITED TO, CONTRACT, NEGLIGENCE, AND OTHER TORT ACTIONS. BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN CATEGORIES OF DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. IN SUCH STATES, THE LIABILITY OF RDK MANAGEMENT AND ITS AGENTS AND LICENSORS IS LIMITED TO THE FULLEST EXTENT PERMITTED BY SUCH STATE LAW. YOU AGREE THAT THE LIABILITY OF RDK MANAGEMENT (INCLUDING ITS PARENTS, SUBSIDIARIES, AND AFFILIATES) AND ITS AGENTS AND LICENSORS, IF ANY, ARISING OUT OF ANY KIND OF LEGAL CLAIM IN ANY WAY CONNECTED TO THE WEBSITE SHALL NOT EXCEED THE AMOUNT YOU PAID TO RDK MANAGEMENT FOR THE USE OF THE WEBSITE.
To obtain access to certain services on our website, you may be required to register. As part of any such registration process, you will select a user name and a password. You agree that the information you supply during that registration process will be accurate and complete and that you will not register under the name of, nor attempt to enter the service under the name of, another person. RDK Management reserves the right to reject or terminate any user name that, in its judgment, it deems offensive. You will be responsible for preserving the confidentiality of your password and will notify us of any known or suspected unauthorized use of your account.
At certain places on this website there may be additional or other terms and policies that apply to your use of this website and the services on it. By using the website or those services, you agree to abide by those terms and policies. We may change those terms and policies from time to time. By continuing to use the website after we post any changes, you accept and agree to those terms and policies, as modified.
These terms have been made in and shall be construed in accordance with the laws of the Commonwealth of Pennsylvania. By using this website, you consent to the exclusive jurisdiction of the state and federal courts in Philadelphia, Pennsylvania, in all disputes arising out of or relating to these terms or this website. In the event that any portion of these terms is held to be unenforceable, the unenforceable portion shall be construed in accordance with applicable law as nearly as possible to reflect the original intentions of the parties and the remainder of the provisions shall remain in full force and effect.
By using this website, you agree to abide by these terms. We hope you enjoy using this website, and we welcome suggestions for improvements.
Effective: February 5, 2015
Copyright © 2019 RDK Management, LLC