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



software development in a company
academic software development




A. Are you a library or a framework developer? If no: skip to next section B.



... 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.

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

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.


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.


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


B. This section is for users & developers of libraries and frameworks.


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.


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.

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








Never submit passwords through Google Forms.