Free and Open Source Software at Zillow Group

Who are you?

  • I am a College of Charleston Alumni, graduated in 2000
  • All the companies I have worked for have used open source heavily.
  • I currently work for Zillow Group.
  • @twonds
  • email: christopher.zorn@gmail.com

What are you talking about?

  • 'Turn on the lights' for technology used by ZG.
  • Try not to be boring.
  • Trigger your curiosity to explore technology used by ZG.
  • Ask questions!

What is Zillow Group?

  • Zillow Group is best known for the Zillow brand and zillow.com.

  • It also has many other brands. Trulia, Hotpads, StreetEasy, etc.

  • ZG has real estate businesses:

    • Premier Agent, Zillow Offers, Zillow Rentals, Zillow Home Loans, Zillow Closing Services
  • Zillow, like many other tech companies, use and contribute to free and open source software.

Why does ZG participate in open source?

  • Developing technology efficiently
    • Multiplies developer impact
    • Collaboration on mission-critical projects
    • High-quality open source code
  • Growing and maintaining talented engineering teams
  • Supports a healthly technology ecosystem

How does FOSS multiply developer impact?

  • The most common motivator for participating in open source is engineering efficiency.
  • Problems are already solved.
  • Consuming open source projects means you don’t have to reinvent the wheel.
  • Creating open source projects means your wheel can be used by others.

How does collaboration improve mission critical projects?

  • FOSS encourages public collaboration.
  • It allows us to contribute improvements to projects critical to ZG's success.
  • Collaboration increases diversity of thought, typically increasing quality.

How does FOSS produce higher quality code?

  • Popular FOSS projects tend to be higher quality than software developed by small, internal teams.
  • They benefit from many contributors with diverse perspectives, backgrounds, and experiences.
  • Diversity improves most aspects of software development, strengthening design, testing and usability.

How does it help grow and maintain our talented engineering teams?

  • Using known or standard methods, FOSS reduces new engineers learning time.
  • Reduces overhead and toil of operation and maintenance.
  • Participating in FOSS exposes software engineering candidates to ZG technology.
  • Connects outside engineers with ZG software engineers.
  • Sends positive signals that ZG takes FOSS seriously.

Why does FOSS fit in with ZG values?

  • FOSS aligns a few of ZG’s core values:
    • Do the right thing: ZG benefits greatly from the FOSS community, and we should give back where we can.
    • Turn on the lights: ZG works to increase transparency within the real estate industry to empower our users. This should extend to our software.
    • ZG is a team sport: We’re at our best when we work together and value what each person brings to the table. Participating in FOSS expands our team and the benefits that come with it.

How does ZG participate in FOSS?

  • Consumes by using thousands of open source projects to build fast, scalable, and reliable technology.
  • Contributes by submitting code and other improvements to the open source projects we use.
  • Creates by releasing our own open source projects for others to use.

What FOSS technology does ZG consume?

  • Guess?

What FOSS technology does ZG consume?

It is actually difficult to measure how many FOSS projects we use.

Languages

Frameworks

Databases

Caching/Indexes

Documentation

Source Control, CI/CD, Operation

Mobile

  • I don't know!

Monitoring

How does ZG contribute back to FOSS?

On and off the clock, ZG engineers contribute back to the open source community by submitting bug fixes, features, issues, documentation, and maintenance to non-ZG projects.

What projects does ZG contribute to?

What FOSS project's does ZG create?

What about your team?

  • My team: Devex Platform
  • Responsible for delivery of workloads, applications and services.
  • Our job is to make it easy for engineering teams to deploy, scale and operate their solutions.

What projects does my team consume?

  • Similar to the list already given.
  • Python and golang
  • Kubernetes
    • Kustomize
    • Tools
    • Operators

How does my team contribute?

What projects does my team create?

Can you demonstrate a project?

  • dinghy ping!

How can ZG increase FOSS participation?

  • Consuming is ZG’s primary mode of open source participation.
  • The biggest participation opportunities involve contributing and creating.

How is ZG improving guidelines around FOSS participation?

  • A small group of passionate, self-motivated engineers is responsible for the majority of ZG’s open source participation.
  • We want to make it easier for everyone to participate.
  • The most efficient way to facilitate participation is to improve and ratify our open source participation guidelines.

How can ZG change culture and normalize FOSS participation?

  • Some teams strive toward an “open source by default” model of development.
  • But the overhead of “open sourcing” internal projects is avoided entirely but should be prioritized similar to internal tasks.
  • All projects depend on OSS, upstream contributions should also be prioritized like any internal development task.

What are the risks of using FOSS for ZG?

  • Legal
  • Security

Legal risks

  • Legal risks of FOSS include potential infringement and license restrictions.
    • Inadvertently violating terms.
    • Adopting a project whose license requires us to release sensitive code.

Security risks

  • Security risks of FOSS include the following:
    • Introducing malware or vulnerabilities in our technology via dependencies.
    • Inadvertently releasing vulnerabilities ourselves.

How does ZG mitigate risks of FOSS?

  • Legal and security teams review certain kinds of open source participation, e.g., when open sourcing an internal project.
  • However, as open source participation grows, there will be increased demand for legal and security reviews.

How can ZG maintain or reduce the review workload?

  • Automate reviews
  • Reduce reviews
  • Simplify reviews

Automate reviews

  • ZG can use scanning tools to automatically review open source licenses.
  • ZG already scans for security vulnerabilities in projects and docker images.

Reduce reviews

  • We need to define which types of open source participation require manual review.
  • Possibly avoid small contribution reviews.

Simplify reviews

  • ZG has plans to leverage ServiceNow workflows to help manage the manual review process.

What did we get out of this?

  • FOSS tech overview at ZG
  • Use, contribute and study open source!
  • Reading and understanding code is the best way to learn!
  • You are more than welcome to reach out to me for questions.

Is Zillow hiring?

Questions?

References and resources