|
|
# What is this Interview Script for?
|
|
|
|
|
|
It is a 60 minutes interview to provide a basic understanding of how and why a person responsible for running a software forge supports communications with other forges.
|
|
|
|
|
|
## Essential parts of the interview are:
|
|
|
|
|
|
- Introduction (to explain to the participant who you are, why you are talking to them)
|
|
|
- Get consent (to establish trust with the participant)
|
|
|
- About the participant (to learn about the participant, and their organisation)
|
|
|
- Using multiple forges (to find how and why other forges communicate with the forge that someone is responsible for to get a glimpse of the associated mental model).
|
|
|
- Conclusion questions
|
|
|
|
|
|
# Tools needed
|
|
|
|
|
|
- way to take notes (paper, or laptop)
|
|
|
- audio recorder (optional)
|
|
|
|
|
|
## Interview
|
|
|
|
|
|
The person "responsible" for a forge may either be a system administrator operating a forge or the manager of an organization running the forge. Although their perspective is different (technical / business) they may both be in a position to decide how things are done and why they should be done (or not). The system administrator decision power is derived from the fact that he/she does the work. The manager has, by definition, the power to decide what the organization does.
|
|
|
|
|
|
The themes between brackets ([Fragility], [Lock-in], etc.) relate to the [fedeproxy project description](https://forum.fedeproxy.eu/t/fedeproxy-full-description/13), under the "Technical challenges and barriers" chapter. They are the themes that are identified a-priori. Most questions relate to these themes but the theme itself should not be explained during the interview: it is out of scope. It is quite possible that some of the themes will be entirely discarded by participants. And that other themes will emerge after the affinity mapping is complete.
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
Hello there, my name is Loïc Dachary. I'm a software developer and daily user of software forges for the past twenty years. This year I thought it would be interesting to allow forges to talk to each other (i.e. be federated instead of isolated) so that people can use the forge they like best instead of being forced to use the forge on which the project is hosted. A grant was approved to work on this idea and the first order of business is to conduct User Research to figure out what to do. With an open mind: the conclusion may lead us on an unexpected path. And this is where your contribution is extremely valuable: this interview is about your personal experience, past and present, as a person responsible for maintaining a software forge. This will be the evidence showing how interactions between your forge and others are handled.
|
|
|
|
|
|
## Get consent for recording the audio of the session
|
|
|
|
|
|
I would like to ask you for your permission to record our discussion today. Recording allows me to focus my attention on you. I will use this recording to make notes of our discussion today. Once I've made the notes, I will delete the recording.
|
|
|
|
|
|
May I record our discussion?
|
|
|
|
|
|
## Get consent for questions and sharing notes
|
|
|
|
|
|
You can answer my questions to the extent that you feel comfortable. You're free to choose not to answer a question, or to stop the interview at any moment. OK?
|
|
|
|
|
|
We want to keep information from interiews available for the fedeproxy UX team members. With all our interview we remove personally identifiable information, like names, organisations, countries. We will send you the notes for review and wait for your approval to share them. It would be perfectly ok for you to decide at that time that you don't want them shared with anyone after all.
|
|
|
|
|
|
Do you have any questions before we begin?
|
|
|
|
|
|
## About the participant
|
|
|
|
|
|
- What forge are you responsible for?
|
|
|
- (prompt) for how long?
|
|
|
- (prompt) is it a full time job? or the primary activity of your organization?
|
|
|
- What motivated you to start running this forge?
|
|
|
- What is your position in the organization governing this forge?
|
|
|
- How do you chose what to work on?
|
|
|
- Is this your primary source of income?
|
|
|
- How is your work funded?
|
|
|
|
|
|
## About the work you do on your forge
|
|
|
|
|
|
### Your forge features
|
|
|
|
|
|
- What features does your forge implement? (yes/no)
|
|
|
- DVCS
|
|
|
- Merge/Pull requests
|
|
|
- Issues
|
|
|
- CI
|
|
|
- (prompt) what is it?
|
|
|
- What are the quotas/limitations?
|
|
|
- CD
|
|
|
- (prompt) how does it work?
|
|
|
- What are the quotas/limitations?
|
|
|
- Operations (Kubernetes, OpenStack, Terraform, etc.)
|
|
|
- Wiki
|
|
|
- Webhooks
|
|
|
- Integration
|
|
|
- Alternate issue tracker: Redmine, Custom, Bugzilla
|
|
|
- Alternate CI: Jenkins
|
|
|
- Chat: Mattermost
|
|
|
- Alternate Wiki
|
|
|
- Email list of notifications
|
|
|
- Snippets
|
|
|
- Pages (as in static website)
|
|
|
- Do you provide domain names?
|
|
|
- Do you support Let's Encrypt?
|
|
|
- Packages registry
|
|
|
- API
|
|
|
- (prompt) all features or part of them?
|
|
|
- Do you implement ad-hoc features on top of your forge?
|
|
|
|
|
|
### Business model
|
|
|
|
|
|
- What is the business model for your forge? [Lock-in]
|
|
|
- What plan do you have in place in case your forge permanently disapear? [Fragility]
|
|
|
|
|
|
### Roadmap [Lock-in]
|
|
|
|
|
|
- How do you research what your user need (with a focus on a multi-forge user)?
|
|
|
- (prompt) user research, interviews etc.
|
|
|
- Why do you proceed in this way?
|
|
|
- How much of your work is guided by the need of project funders / paying users?
|
|
|
- Are you in direct contact with the funders of the project / paying users?
|
|
|
- How do they communicate their needs?
|
|
|
|
|
|
### Legal and Code of Conduct [Censorship][Exclusion]
|
|
|
|
|
|
- Who is legaly reponsible for the data hosted on your forge?
|
|
|
- How do you handle takedown requests?
|
|
|
- (prompt) when a court order requires that you remove content from your forge, what do you do?
|
|
|
- How is the Code of Conduct / law enforced with your forge?
|
|
|
- (prompt) what if people upload content that goes against the law or the Code of Conduct
|
|
|
|
|
|
### Security [Vulnerability]
|
|
|
|
|
|
- What guarantees do you provide to the users that your organization does not tamper with their software project?
|
|
|
- (prompt) would you be able to rewrite the history of their repository?
|
|
|
|
|
|
### Import / export [No interoperability]
|
|
|
|
|
|
- Are import / export self managed by users?
|
|
|
- (prompt) do you bulk import projects in some cases?
|
|
|
- How to you handle RGPD requests?
|
|
|
- What if all projects of an organization need to migrate elsewhere?
|
|
|
|
|
|
### Mirroring [Fragility]
|
|
|
|
|
|
- Does your forge provide mirroring from/to other forges?
|
|
|
- Is mirroring read-only?
|
|
|
|
|
|
### Federation
|
|
|
|
|
|
- Do you know of forge federation efforts for the forge you run?
|
|
|
- Could you define what forge federation is in your own words?
|
|
|
- Did you participate in discussions regarding forge federation?
|
|
|
- (prompt) why did you decide to participate
|
|
|
- (prompt) do you remember action items
|
|
|
|
|
|
### Bots
|
|
|
|
|
|
- Do you run bots dedicated to working with your forges and other forges?
|
|
|
|
|
|
## Usability
|
|
|
|
|
|
- Imagine you have a magic wand. You can use it once to wish for anything as long as it is related to your forge and how it communicates with other forges. What would that be?
|
|
|
- Is there anything that you are happy about regarding how your forge software communicates with other forges?
|
|
|
|
|
|
# Finishing
|
|
|
|
|
|
Thanks very much for your time and patience. As a little thank you, I'd like to offer you a https://solokeys.com/.
|
|
|
|
|
|
Is there anybody you know who would be willing to answer this interview? Would it be OK to introduce me to them so we can talk?
|
|
|
|
|
|
Thanks again. |