16,941 research outputs found

    Community-Based Production of Open Source Software: What Do We Know About the Developers Who Participate?

    Get PDF
    This paper seeks to close an empirical gap regarding the motivations, personal attributes and behavioral patterns among free/libre and open source (FLOSS) developers, especially those involved in community-based production, and its findings on the existing literature and the future directions for research. Respondents to an extensive web-survey’s (FLOSS-US 2003) questions about their reasons for work on FLOSS are classified according to their distinct “motivational profiles” by hierarchical cluster analysis. Over half of them also are matched to projects of known membership sizes, revealing that although some members from each of the clusters are present in the small, medium and large ranges of the distribution of project sizes, the mixing fractions for the large and the very small project ranges are statistically different. Among developers who changed projects, there is a discernable flow from the bottom toward the very small towards to large projects, some of which is motivated by individuals seeking to improve their programming skills. It is found that the profile of early motivation, along with other individual attributes, significantly affects individual developers’ selections of projects from different regions of the size range.Open source software, FLOSS project, community-based peer production, population heterogeneity, micro-motives, motivational profiles, web-cast surveys, hierarchical cluster analysis

    Stack Overflow in Github: Any Snippets There?

    Full text link
    When programmers look for how to achieve certain programming tasks, Stack Overflow is a popular destination in search engine results. Over the years, Stack Overflow has accumulated an impressive knowledge base of snippets of code that are amply documented. We are interested in studying how programmers use these snippets of code in their projects. Can we find Stack Overflow snippets in real projects? When snippets are used, is this copy literal or does it suffer adaptations? And are these adaptations specializations required by the idiosyncrasies of the target artifact, or are they motivated by specific requirements of the programmer? The large-scale study presented on this paper analyzes 909k non-fork Python projects hosted on Github, which contain 290M function definitions, and 1.9M Python snippets captured in Stack Overflow. Results are presented as quantitative analysis of block-level code cloning intra and inter Stack Overflow and GitHub, and as an analysis of programming behaviors through the qualitative analysis of our findings.Comment: 14th International Conference on Mining Software Repositories, 11 page

    Concurrentie, innovatie en intellectuele eigendomsrechten in software markten

    Get PDF
    This study analyzes under which circumstances it may be desirable for the government to stimulate open source software as a response to market failures in software markets. To consider whether policy intervention can increase dynamic efficiency, we discuss the differences between proprietary software and open source software with respect to the incentives to innovate and market failures that may occur. The document proposes guidelines to determine which types of policy intervention may be suitable. Our most important finding is that directly stimulating open source software, e.g. by acting as a lead customer, can improve dynamic efficiency if (i) there is a serious customer lock-in problem, while (ii) to develop the software, there is no need to purchase specific, complementary inputs at a substantial cost, and (iii) follow-on innovations are socially valuable but there are impediments to contractual agreements between developers that aim at realizing such innovations. This publication is in Dutch.

    Credit Where It’s Due: The Law and Norms of Attribution

    Get PDF
    The reputation we develop by receiving credit for the work we do proves to the world the nature of our human capital. If professional reputation were property, it would be the most valuable property that most people own because much human capital is difficult to measure. Although attribution is ubiquitous and important, it is largely unregulated by law. In the absence of law, economic sectors that value attribution have devised non-property regimes founded on social norms to acknowledge and reward employee effort and to attribute responsibility for the success or failure of products and projects. Extant contract-based and norms-based attribution regimes fail optimally to protect attribution interests. This article proposes a new approach to employment contracts designed to shore up the desirable characteristics of existing norms-based attribution systems while allowing legal intervention in cases of market failure. The right to public attribution would be waivable upon proof of a procedurally fair negotiation. The right to attribution necessary to build human capital, however, would be inalienable. Unlike an intellectual property right, attribution rights would not be enforced by restricting access to the misattributed work itself; the only remedy would be for the lost value of human capital. The variation in attribution norms that currently exists in different workplace cultures can and should be preserved through the proposed contract approach. The proposal strikes an appropriate balance between expansive and narrow legal protections for workplace knowledge and, in that respect, addresses one of the most vexing current debates at the intersection of intellectual property and employment law

    Setting the stage – embodied and spatial dimensions in emerging programming practices.

    Get PDF
    In the design of interactive systems, developers sometimes need to engage in various ways of physical performance in order to communicate ideas and to test out properties of the system to be realised. External resources such as sketches, as well as bodily action, often play important parts in such processes, and several methods and tools that explicitly address such aspects of interaction design have recently been developed. This combined with the growing range of pervasive, ubiquitous, and tangible technologies add up to a complex web of physicality within the practice of designing interactive systems. We illustrate this dimension of systems development through three cases which in different ways address the design of systems where embodied performance is important. The first case shows how building a physical sport simulator emphasises a shift in activity between programming and debugging. The second case shows a build-once run-once scenario, where the fine-tuning and control of the run-time activity gets turned into an act of in situ performance by the programmers. The third example illustrates the explorative and experiential nature of programming and debugging systems for specialised and autonomous interaction devices. This multitude in approaches in existing programming settings reveals an expanded perspective of what practices of interaction design consist of, emphasising the interlinking between design, programming, and performance with the system that is being developed

    Embedding Spatial Software Visualization in the IDE: an Exploratory Study

    Full text link
    Software visualization can be of great use for understanding and exploring a software system in an intuitive manner. Spatial representation of software is a promising approach of increasing interest. However, little is known about how developers interact with spatial visualizations that are embedded in the IDE. In this paper, we present a pilot study that explores the use of Software Cartography for program comprehension of an unknown system. We investigated whether developers establish a spatial memory of the system, whether clustering by topic offers a sound base layout, and how developers interact with maps. We report our results in the form of observations, hypotheses, and implications. Key findings are a) that developers made good use of the map to inspect search results and call graphs, and b) that developers found the base layout surprising and often confusing. We conclude with concrete advice for the design of embedded software maps.Comment: To appear in proceedings of SOFTVIS 2010 conferenc

    JWalk: a tool for lazy, systematic testing of java classes by design introspection and user interaction

    Get PDF
    Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unit-testing tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile methods. The tool operates directly on the compiled code for Java classes and uses a new lazy method for inducing the changing design of a class on the fly. This is achieved partly through introspection, using Java’s reflection capability, and partly through interaction with the user, constructing and saving test oracles on the fly. Predictive rules reduce the number of oracle values that must be confirmed by the tester. Without human intervention, JWalk performs bounded exhaustive exploration of the class’s method protocols and may be directed to explore the space of algebraic constructions, or the intended design state-space of the tested class. With some human interaction, JWalk performs up to the equivalent of fully automated state-based testing, from a specification that was acquired incrementally

    Learning Dimensions: Lessons from Field Studies

    Get PDF
    In this paper, we describe work to investigate the creation of engaging programming learning experiences. Background research informed the design of four fieldwork studies involving a range of age groups to explore how programming tasks could best be framed to motivate learners. Our empirical findings from these four studies, described here, contributed to the design of a set of programming "Learning Dimensions" (LDs). The LDs provide educators with insights to support key design decisions for the creation of engaging programming learning experiences. This paper describes the background to the identification of these LDs and how they could address the design and delivery of highly engaging programming learning tasks. A web application has been authored to support educators in the application of the LDs to their lesson design
    • 

    corecore