Twitter github

Eclipse and Academia

I’ve seen a lot of interesting stuff as of late that relates to Eclipse technology being used in academia. For example, Ugo Sangiorgi has been working on a position paper around the Sketch project for FlexiTools 2010.

Another cool Eclipse-related academic item I just saw was Code Bubbles. I also know that GEF3D has done some work in academia. Heck, the Mylyn project got its start as an academic project for awhile. I wonder if there’s something more we can do to make it easier for academia to participate in the Eclipse ecosystem and benefit from it. Here are some ideas that popped out in my mind…

  • Should we have closer ties to academic conferences
  • How about a list of all academic publications that use Eclipse technology
  • How about having an “open source technology incubator” that lets people take a project and build a business (e.g., Mylyn -> Tasktop)
  • Amend EclipseCon to accept position papers and have them published in a Eclipse focused academic journal

For those living in academia, what do you think? What would benefit you?

  • ugosan

    I think most research papers that had used Eclipse as a support do not explore the technology on the text, for obvious reasons: the focus is often not the tool used. I think there is much to be shared regarding the experiences researchers had.

    EclipseCon could have a track in which researchers would describe their works (2-4 pages), with focus on what Eclipse tools they re-used and what they had created. Editors built with GEF and GMF, DSL editors, RCP applications, and so on.

  • http://aniszczyk.org Chris Aniszczyk

    I think the goal of the Poster sessions at EclipseCon is there for researchers to explain their idea. I'm just wondering if we could do more.

    From the publication perspective, I think it would be useful for Eclipse.org to maintain a list of publications that its technology is mentioned and used in.

  • ugosan

    Yes, I think it could serve as a hub for exchanging experiences as well, great idea.

  • Andrew Overholt

    One area that is really important IMO is getting project ideas that are in academically-digestible chunks. I'm thinking projects that committers envision will take 4 or 8 months and would be do-able by students. They'd have to be of potential interest to students and probably also have some sort of academic value (for some definition of “academic value”).

  • Marcel

    What would help academic projects best?

    Personally I think that not many academic projects are supported/developed for longer than, say, 6 months. Typically an idea is developed, the tool gets implemented, the paper is written and refined until it gets accepted on a conference – and that's it. As of that time, the software decays. Why? Because success in research is not measured in terms of users but in terms of papers published. And to get papers accepted the software must not work perfectly – it just has to work “a little”.

    What is typically missing is the continuous “polishing” to make a tool usable by others. Often, research tools can only be built on the researcher’s machine and not on any other because of hardcoded paths, dependencies etc…
    However, there are other projects that aim to create some value (like Mylyn did), which are also very, very interesting (code bubbles clearly belongs to this group). What can Eclipse do to support those projects? Here are my thoughts:

    By providing an infrastructure? No.
    By helping to create a business? Maybe.
    By making such tools known by community? Clearly: Yes.

    Three ideas on that:

    1. “Beta-Users”
    One thing research projects need a lot of is feedback: Is the tool working well? Is it helpful? How do people feel about the tool? What should be improved? What is missing? What bugs exist in the software?

    But getting feedback is rather difficult. Making a software open source and put the URL of the issue tracker on the webpage rarely results in a large number of bug reports or, let alone user feedback.

    What research projects need are beta-users; people that test your software and provide you with feedback about its usability. Here Eclipse could help in pushing the community to play around with these tools and start discussions on their research topic – maybe such discussions also create one or two project committers.

    2. Data
    What else can researchers benefit from? Data. Data, Data, Data … and Data :-) Much research needs to collect data about, for instance, how developers traversed source code, used the Eclipse UI, about common programming exceptions when using APIs etc. etc.

    The data collector framework is a very interesting tool because it already collects some valuable data. But there is much more that can (need to) be collected in order to solve problems with source code understanding or UI usage as mentioned above.
    The following idea is inspired by the SVN team plug-in. After installing the SNV team plug-ins you get a pop-up window that asks you which SVN implementation you want to use (JavaHL, SVNKit etc.). Let’s think about the data collection tool in the same way. Imagine that a developer get’s a pop-up window asking her which open source research project she wants to support today, i.e., share her data with? This way, Eclipse would extremely well support researchers. In this case, academia would contribute special data collectors for the data collector and Eclipse would host the data making it available to researchers.

    3. Challenges
    Challenges are a great way to see which tools works best for a given problem. Maybe you are aware of tools like XSnippet, Prospector and ParseWeb (few more exist). They all solve the same problem – but they never have been evaluated by a large user community, and thus you will never know how helpful they are in reality. Challenges or community votes could draw the researchers attention to create better tools and at the end the winner gets a nice logo on his webpage “Winner of the Eclipse XY Challenge” (note, that such a thing wouldn’t need a price money – it’s just the honor :)

    However, such user votes are just one idea. Microsoft, for instance, gives away parts of its data for mining bugs. Maybe you know that there are many tools that analyze (and mine) Eclipse code to find bugs. And because of its size, Eclipse is a gladly taken case study for each of them. Creating challenges for Bug Detection tools are also an interesting option where both Eclipse and academia can benefit.

    These are my first three ideas that came into my mind after reading you post – and as you might suspect, having such an Eclipse support is greatly appreciated :-)

  • http://blog.objectteams.org/ Stephan Herrmann

    Hi Chris,

    thanks for bringing this up.
    See my response at http://blog.objectteams.org/2010/03/re-eclipse-

    cheers,
    Stephan

  • Pingback: Re: Eclipse and Academia at The Object Teams Blog()

  • http://contraptionsforprogramming.blogspot.com/ Andrew Eisenberg

    The problem is that academia and the Eclipse foundation have different goals. Too overly simplify, projects in the Eclipse ecosytem succeed iff they contain well-written, solid code, they foster a community, and they fill a niche. Academic projects require none of those. Rather, they require a coherent, profound, and novel idea that relates to software. The software itself is an afterthought, and is only written as a proof of concept.

    Academicians who focus too much on the software itself, or making a community do so at their peril and their academic credentials suffer because they are not working towards their Big Idea. (I'm not trying to be cynical here, this is just my experience and the reason why I left academia).

    Right now, there is just not enough reason for an aspiring academic to contribute to the Eclipse community. All it will do is slow someone's PhD down while they work on polishing their code.

    Perhaps the best thing that the Eclipse community can do is show how great it is to be working in it and to convince some aspiring professors (who are also good programmers) that life outside the hedges may be better for them than staying in academia. (It worked for me.)

    On the other hand, IBM had some good Eclipse innovation grants, which fostered quite a few good projects. However, most of these projects died (with notable exceptions (Mylyn, Zest, …)) when the student graduated. This is OK, because usually the project is more about the idea than the code.

    The problem with these innovation grants is that there was no requirement to engage the Eclipse community. I would have liked to have seen a track at EclipseCon where all recipients of these kinds of innovation grants are invited (required?) to present their work.

  • Marcel

    How about a “Research IDE” or an “Research Eclipse Update Site” that aggregates several research projects' update sites to create a platform for such research projects. Thanks to p2 this could be maintained w/o too large effort and preinstalling this in Eclipse update site manager would encourage users to check them out.

    Eclipse Marketplace could be a great platform to provide additional information to these research projects.

  • http://aniszczyk.org Chris Aniszczyk

    Thanks for your response Andrew.

    In response that there's not enough reason for an aspiring academic to contribute to the Eclipse community, well that's the problem I'm trying to address. I would hope that exposure would be a benefit for folks. I know the GEF3D project has benefited from becoming an Eclipse.org project versus staying on their academic site. But that has mostly been through exposure via attracting contributors and building a small community.

    In regards to some of the academic projects that have done well… it would be nice to understand why. I'm particularly interested in understanding how we can make something like Mylyn happen again, where you start with an open source project from academia and help turn it into a business. If you look at the composition of Eclipse, we should be able to offer some serious advise to these projects.

    I don't know if IBM is still doing the Eclipse innovation grants. I recall that they shifted all that work to focus on Jazz now. However, that doesn't mean that the Eclipse Foundation can't come up with a comparable program.

  • http://aniszczyk.org Chris Aniszczyk

    I think your suggestion would be possible now within the Eclipse Marketplace. We can create a tag maybe and have it filterable. Would you care to file a bug for this Marcel?

  • http://chem-bla-ics.blogspot.com/ Egon Willighagen

    I would very much welcome a clearer academic Eclipse community… working on Bioclipse (http://www.bioclipse.net/), we published two papers around this so far:

    http://www.biomedcentral.com/1471-2105/8/59/abs
    http://www.biomedcentral.com/1471-2105/10/397/a

    and one involving Resource Description Framework to be submitted too.

    I experience it to be difficult to find a way to contribute back to the Eclipse community, not having funding for contributing to Open Source development, but typically for solving a scientific problem. Therefore, signing up to or even contacting projects like Orbit for the 3rd party libraries I create has to come from spare time, even though I clearly see the benefits in sharing those (for myself and others).

    Otherwise, I am trying to interest my students to sign up for the Google SoC, and propose some work in this area. Personally, I have been GSoC mentor once and twice in a Dutch equivalent, and think this is a great way for Open Source projects to have starting scientists (aka M.Sc. and PhD students) contribute to e.g. Eclipse.

  • http://contraptionsforprogramming.blogspot.com/ Andrew Eisenberg

    I must say that most PhD students are tacitly discouraged from contributing to open source simply because it will not get them further along in their research and their funding is not earmarked for open source work, but only for research. (As an aside, students will get new computers every year, but the furniture in the lab is often 15 years old. And this is because research money tends to be very strictly targeted.)

    Now, I can imagine a next generation of Eclipse innovation grants that explicitly encourage participation in an open source project (of course, it is still an issue trying to find out ways that open source participation would further the research). Also, eclipse.org could offer to host the project and provide resources that will persist after the project funding is finished (svn, bugzilla, webspace, mailing list, etc). The most important thing would be to get these researchers out to Eclipse events (eclipsecon, meetups, etc) where they can chat with Eclipse users in the wild.

    As for what makes a successful academic project become a successful open source project, an important criterion is that the project be led by a student who has no ambitions to stay in academia. Of the successful projects of this kind, that seems to be the key ingredient. And of the Eclipse-based research projects that were truly worthwhile, but did not leave academia, that was a missing ingredient.

    Most PhD students enter their program thinking that they want to become a professor, but many leave realizing that they really don't want to. It's not that an eclipse innovation grant should try convince students that open source is better than academia (because that isn't necessarily the case), but for those students who are unlikely to stay in academia, this kind of grant could possibly show them that profoundly difficult, challenging, and fun problems exist outside of the ivory towers.

  • http://blog.objectteams.org/ Stephan Herrmann

    From your post I'm not sure whether you suggest to aggregate the results of several research projects or whether you want to provide a platform on top of which new research projects can build their tools.

    In either case I'm not convinced that the label “research” builds enough commonality to make such effort worthwhile. Remember that specialization is a must in research.

    In order to create synergy among research projects one would first have to define specific sub-areas (like, e.g., static analysis of Java programs) then you can perhaps find things that would benefit all research projects in that field (like, e.g., how to use the JDT AST for constructing data-flow graphs). Only once such a sub-area has been defined I see a chance that individual solutions can be collected and shared to foster reuse among research projects.

    Perhaps greater commonality could actually be found in the development method: I see projects improving the functionality of existing plug-ins. Those projects could share their approach like: branching the Eclipse source code, using OT/Equinox for non-invasive adaptation :) etc.

  • http://blog.objectteams.org/ Stephan Herrmann

    Andrew, I feel very much like you and regarding the typical PhD candidate your observations are certainly right on (for larger projects the situation looks better I think, see my post linked above). However, maybe we can skew the picture in our favor if we ally with those folks in academia who actually have a sense for the value of good quality tools.

    The other day I received the call for papers of WASDeTT-3, see http://www.info.fundp.ac.be/wasdett2010/
    Question #2 in their list is: “Should academic tools be of commercial quality?”.
    Maybe we can help them, or they help us. Eclipse might want to help spread the word about this workshop.
    The program committee lists at least 2 people with specific Eclipse affinity: Bob
    Fuhrer (IMP) and Markus Voelter (oAW). This doesn't mean the workshop will actually be attended by Eclipse-activists but the connection has been prepared. From a previous edition of the workshop I know that there is also a group who are not at all enthusiastic about Eclipse because they've “done the same many years ago in Smalltalk”. Just mentioning this because we have to be careful not to pretend we have the holy grail. Eclipse solves some problems which before Java we didn't have.

    In order to recognize those projects that have a potential for code maturity I suggest two simple questions: (1) does the project maintain a significant test suite (with good coverage of error scenarii, too!) (2) does the project manage to stay up-to-date with new Eclipse releases. I remember that question (2) was a major crossroad during the Object Teams project: at a time when we still used much more copy&paste than today I had a student assistant working several months just on migrating our code from Eclipse 3.0 to Eclipse 3.2. Other team members called me crazy for doing so. Without this effort Object Teams would be dead by now. And I've seen other research projects quickly getting two or more releases behind and thus gradually losing the grip on deploying useable software.

    Do you see more criteria like that? Making these explicit should help other researchers to recognize their own crossroads and help them make up their minds which road to choose. I'm sure some of them will actually chose the road marked “Eclipse”, but remember that in reality the gap between theory and
    practice is much larger than what theory tells us. Much of these are uncharted waters.

  • Marcel

    > I'm not sure whether you suggest to aggregate the results of several research
    > projects or whether you want to provide a platform on top of which new
    > research projects can build their tools.
    […]
    > In order to create synergy among research projects one would first have to
    > define specific sub-areas

    I agree.
    While the latter (a platform) would be great, I agree that this will work only in very few cases. Initially, my idea was to create a new main category “Research Projects” beside “Tools” and “RCP Applications” on Eclipse marketplace with research oriented subcategories. For instance “dynamic analysis” or “intelligent code completion”. But you are right. Maintaining such a categorization would be a nightmare. An interesting alternative is to use tag clouds for grouping related projects. Readers that look at the cloud might select interesting looking phrases to learn more about the details and the projects behind the tag.

    > Remember that specialization is a must in research.
    Got that. But from my experience specialization often means a different solution to the same kind of problem. Grouping them (using tag clouds) could be worth doing.

    However, this is just an idea how research projects could gain more attention from the community and how Eclipse could strengthen its position as IDE of choice for research projects.

  • Marcel

    > I'm not sure whether you suggest to aggregate the results of several research
    > projects or whether you want to provide a platform on top of which new
    > research projects can build their tools.
    […]
    > In order to create synergy among research projects one would first have to
    > define specific sub-areas

    I agree.
    While the latter (a platform) would be great, I agree that this will work only in very few cases. Initially, my idea was to create a new main category “Research Projects” beside “Tools” and “RCP Applications” on Eclipse marketplace with research oriented subcategories. For instance “dynamic analysis” or “intelligent code completion”. But you are right. Maintaining such a categorization would be a nightmare. An interesting alternative is to use tag clouds for grouping related projects. Readers that look at the cloud might select interesting looking phrases to learn more about the details and the projects behind the tag.

    > Remember that specialization is a must in research.
    Got that. But from my experience specialization often means a different solution to the same kind of problem. Grouping them (using tag clouds) could be worth doing.

    However, this is just an idea how research projects could gain more attention from the community and how Eclipse could strengthen its position as IDE of choice for research projects.