Open source

Started by dennisn

spmm Lv 1

Having read about the recent brouhaha on the Linux kernel it would seem that there would be much more work involved for the foldit team in managing code submissions and maintaining a good quality codebase. Also performing the less than joyful tasks of sorting out dramas and reading bad code.

foldit UI design should be done by UI and UX design 'professionals' in conjunction with scientists who actually use the program; with some help from programmers (ducks) the results also need to be carefully tested with real users. I shudder to think about what an open sourced UI would actually end up like, probably unplayable.

AsDawnBreaks Lv 1

Just thinking, but what about some sort of system layed out like feedback? There are great points about the difficulties and pitfalls, but there should be a way for those who are able to somehow contribute… We have someodds of 60 open feedbacks. A bunch are probably now invalid, but I'm sure many are not. It could really have a tremendous benefit.

ferrieux Lv 1

Opening the source is one thing, giving commit power to people is another.
When the UI crashes, currently we can just get a very coarse view of what happened with gdb or strace.
With the source in hand, we could analyze and even fix bugs for ourselves, leaving to the dev team the ultimate right to ignore all patches. Only the Feedback page will be populated with things like

"In this detailed set of conditions, there is a crash on Linux because…"

instead of

"Hi, my client crashes 3 times an hour. What gives ?"

I don't see this as an extra burden for the dev team; rather, a better way of tapping into their population of worshippers, among which hundreds of software engineers lurk ;)
By the way: FoldIt is just awesome !

v_mulligan Lv 1

From the scientists' perspective, I don't think it would be possible for the game to be open-source. There are many things that could be done to improve gameplay at the expense of scientific validity. (One extreme example would be simply omitting computationally-expensive parts of the scoring function. This would make the game much more responsive, but would not result in particularly meaningful protein structures.) When development of the game interface is limited to a few specialists who work closely with the scientists, we can make sure that improvements to gameplay are subject to the constraint that the game is still modelling proteins in a useful way. If it were open to the community, changes would likely creep in that would mean that the game interface was either no longer linking properly to the Rosetta core, or was no longer producing scientifically meaningful results. This would not be due to any malace on the community's part; it's just that development requires quite a bit of expertise in the science of protein folding, meaning that well-intentioned changes could be damaging.

Now, that being said, the source code for Rosetta IS freely available for non-commercial use, with registration: https://www.rosettacommons.org/ . Only registered developers can commit changes to the source code, though, since this does require a certain level of expertise.

Deleted user

Seriously, after reading this thread and the other "open source" threads that pop up when new players join, you actually decided that you needed to resurrect this AGAIN ?

Oh wait, maybe you just joined yesterday and immediately decided you knew better. Sorry, we didn't realize.

dennisn Lv 1

I understand that relinquishing some control (by open sourcing) is not ideal from the sterile scientific lab's perspective, but either way this is not a sterile lab. Reverse engineering and code modification and cheating is still possible. Obfuscation really isn't a good solution. I'm pretty sure there are open sourceable ways to detect/prevent cheating. I mean, isn't the goal of the project simply to solve protein structures? (I haven't played the game, since I refuse to run closed-source software on my machine (a la Richard Stallman), and originally actually couldn't on my 64bit system.) Are the goals of the project not alligned with the scoring system of the game? That is, why is cheating even possible? If somebody finds a clever way to shortcut the solutions, why is that a problem for the project?

ferrieux Lv 1

No. I simply offered help, being a software engineer. And I'd really like to hear the developer's thoughts on this offer rather than such sterile rant as "oh, not again".

ferrieux Lv 1

If the central server always re-scores proteins submitted to it, there is no "cheating" possible. The client program then is just one way, among others, of producing interesting candidates. A whole ecosystem of alternate clients, possibly forked from the original one, could gracefully compete. Even fully automated search programs, including Rosetta, could join the race. Nobody cares how the winning PDB file was generated…

AsDawnBreaks Lv 1

In my mind, devs could just keep an iron hand on bad changes and not commit them. Honestly, with all the thoughts in the feedback section, I would find it beneficial for players to have the option to build a tool and submit it as opposed to the possibility of something that could greatly increase the game and research possibly not getting integrated at all because of limited development resources. Even if there was a way for interested players to say "Hey, I'd like to build this tool", you give them the ok and needed code if you are good with it, they return with their tool, you make any necessary tweaks, then you release it. The possibilities of this tool we call a game could increase substantially. By no means should you let anyone and their brother get access to the code, write whatever they want, then commit it themselves, but there should be some way for those who are able to help be able to do so.