Information needs in software ecosystems (Likert Scale Survey)
Hi,

I am Nicole Haenni and I am doing research for my thesis at the University of Berne (scg.unibe.ch) with Mircea Lungu and Niko Schwarz. I need your help to fill out the survey below. We are researching on monitoring the activity in software ecosystems.

A software ecosystem can be a company (e.g. Apple has iOS platform, Facebook ecosystem), an open source community (e.g. the Apache community), a programming language-based community (e.g. Smalltalk has Squeaksource, Ruby has Rubyforge) or project repositories like GitHub. Software projects are often distributed across repositories. Projects inside such a software ecosystem are often connected with one another because they provide or require functionalities they depend on.

This is a study about information needs that emerge in such software ecosystems.

-----------------------------------------
Software Composition Group
Institut für Informatik
Universität Bern
Neubrückstrasse 10
CH-3012 Bern
SWITZERLAND 14.01.2013 - 06.03.2013


Confidentiality agreement:
The information obtained in this study may be published in scientific research papers or in theses. Any information we get during this study that could you identify will be kept strictly confidential.

Introducing Questions
How many years do you have experiences as a professional developer?
In what domain are you active?
closed source software
open source software
both
software development in a company
academic software development
What programming / scripting languages have you used in the last two years?
What software ecosystems (project repositories) have you used in 2012/2013?
Are you a developer of a library or a framework?
A. Are you a library or a framework developer? If no: skip to next section B.
1. 0. Name a few frameworks or libraries you have worked on?
Name the most important one in your opinion and keep it in mind while you answer the next questions.
Your answer
1. 1. API usage statistics. I am interested in ...
Please rank how much you agree or disagree with each of the following statements.
1 (strongly disagree)
2 (disagree)
3 (neither)
4 (agree)
5 (strongly agree)
... which API methods are called.
... API failures statistics.
... the order in which the API methods are called.
... what parameters the methods pass.
... how often a method gets called.
... unused methods and functionalities.
... the usability of my API.
... if people are migrating to the latest version of my library.
1. 2. Project statistics
Please rank how much you agree or disagree with each of the following statements.
1 (Strongly disagree)
2 (Disagree)
3 (Neither/No opinion)
4 (Agree)
5 (Strongly agree)
I want to know the number of downloads.
I am pleased when my project gets forked.
I am curious who tracks my project
I track the clones of my framework to see what others do with it.
I'd like to know what people built with my framework.
I'd like to collect all my depending downstream projects.
I'd like to know if a lot of people like my code
1. 3. Upstream and downstream issues.
Please rank how much you agree or disagree with each of the following statements.
1 (Strongly disagree)
2 (Disagree)
3 (Neither/No opinion)
4 (Agree)
5 (Strongly agree)
I’d like to know how the library is being used to assess the impact of possible changes.
Notify clients about code changes by providing information about arising impacts.
I keep up to date with my upstream project as soon as new changes are released.
Not syncing my documentation with my library has a negative effect on its usage.
I follow my own vision of the project.
I need information about what projects need an adaption because a framework or library has changed.
I need to know if users follow the coding conventions I set.
1. 4 Are there any other information you need to know?
Name it and tell why is it important to know?
Your answer
2. 1. Why are information about your downstream dependencies (users) interesting? Because ...
Please rank how much you agree or disagree with each of the following statements.
1 (not important at all)
2
3 (neither)
4
5 (very important)
I want to provide help to the clients.
I want to notify my clients about changes to maintain compatibility to my downstream projects.
I want to know how others use my library to minimize impact on changes
Unused functionalities will be removed to have an up-to-date API documentation
Highly often used methods are better maintained by me.
It keeps me motivated if a lot of people like my code.
It helps the self-esteem if a lot of people like my code.
2.2 What else do you need to know about your clients?
Your answer
3. 1. What do you do to obtain information about your clients?
What tools / technologies do you currently use?
1 (never)
2
3 (seldom)
4
5 (very often)
RSS Feeds Notifications
Mailing lists
Tracking Bug Reports
Collect Bookmarks
Unit Tests
Code analysis tool (e.g. lint)
Social Media (e.g. Twitter)
Search for blog posts or tutorials
Web Analytics (e.g. Google Analytics)
Statistics provided within my software ecosystem
3. 2. Do you use any other tools or services?
Your answer
B. This section is for users & developers of libraries and frameworks.
4. 1. What information do you want to know about the framework or library you use.
Please rank how much you agree or disagree with each of the following statements.
1 (Strongly disagree)
2 (Disagree)
3 (Neither/No opinion)
4 (Agree)
5 (Strongly agree)
Whether the project is intensively maintained.
Whether the project's code work.
Who are the developers.
What is the responsive time of the developer team to provide support.
Are there any good API and design documentation.
I would like to see example code extracted from other projects using the same library that refers to functions I am trying to figure out how to use.
If I do not know how to use it after an hour I throw it away.
Check the popularity of a framework or library.
Comparison of related frameworks and libraries.
My choice depends project's software license type.
4. 2. Are there any other information you need to know?
Name it and tell why is it important to know?
Your answer
5.1 Why are information about your upstream dependencies interesting? Because ...
Please rank how much you agree or disagree with each of the following statements.
1 (Strongly disagree)
2 (Disagree)
3 (Neither/No opinion)
4 (Agree)
5 (Strongly agree)
I won't adapt to someone's project if the estimated time is too much.
It takes time to figure out what methods in the classes across packages invoke one another.
Before I update to the latest version from upstream, developers would like to see where the changes have an impact on.
It is hard to expose all dependencies among packages.
Notifications at project levels are only good for the general overview.
Missing notifications requires the most time to figure out what has changed at low-level.
Details about which methods and classes in what package have changed are useful.
I usually stay with the running version as long as possible.
I make sure to use a library's version that is widely used.
I want to see if the code changes are made by someone I trust.
I need to know if I can construct on the libraries or not.
6.1 What do you do to obtain information about your upstream dependencies?
Please rank how much you agree or disagree with each of the following statements.
1 (Strongly disagree)
2 (Disagree)
3 (Neither/No opinion)
4 (Agree)
5 (Strongly agree)
I use many different tools to gather information.
Code examples help me to understand a project.
I usually subscribe to a mailing list.
I search the web for blogs and tutorials.
I use unit tests to understand an unfamiliar project.
I check the number of tags on community sites, e.g. Stack Overflow, to ensure there's enough potential support.
I monitor my project repository for commits and activities to be up to date.
I only need to get notified on code changes when functionalities used in my project are involved.
I am building to ensure that at least things still work after migrating to a new version of a library.
Release notes are in general not helpful to adapt my project.
Closing Questions
What are the advantages or limitations of your most used project repository ?
(e.g. GitHub, SqueakSource, Google Code )
Your answer
Have we missed a key point in your opinion? Any inputs you want to share?
Your answer
Where do you live?
Select your gender.
Your name (optional)
Your answer
Your Email (optional)
Your answer
Submit
Never submit passwords through Google Forms.
This content is neither created nor endorsed by Google. Report Abuse - Terms of Service