The three roles in Scrum are: Developer, Product Owner, and Scrum Master.
Anyone working on creating the Product Increment (see Artifacts section below) is considered a Developer on the Scrum team. This does not mean that they create software. Scrum can be used for a wide variety of purposes (not just software development), and any Scrum team member working on creating the desired output is called a Developer, regardless of what they actually do for the team.
The Product Owner determines what the team works on. By defining the Product Backlog (see below) and keeping it prioritized, the Product Owner's goal is to maximize the value created by the Scrum team.
The Scrum Master is like a coach for the team and the organization, teaching the team and organization how to do Scrum, helping the team remove impediments to success, and helping the Product Owner with their interactions with the team, stakeholders, and Product Backlog.