Is eterna.js open source?

I found the draw funciton in the eterna scripting api today, which basically draws a sequence and a structure with spans, which can be really useful, so I wanted to play with it a bit on it’s own and try replicating the main functionalities of the game. So I traced it a bit, and all of the source code is tangled in eterna.min.js.
My question is- is the original, non compressed, eterna.js script available, or do I have to use the code that is in eterna.min.js?

EDIT: this eterna.js

1 Like

Great question. I’ve noticed that eternagame’s open source GitHub software uses a lot of min.js with no documentation either.  Impossible for me to follow it(: 
Nando may have an answer. I see that he did some work in 2013 in the GitHub eternagame scripting pages.

PS: I couldn’t get your link to load.

Hey guys.

The only open source website code is what’s in The eterna.min.js is actually compiled Coffeescript code simply appended together (if this was actually minified, it would be pretty much unreadable).

The main reason why the code has not been made available is due to some security issues. I am experimenting with plans for rebuilding the website with Vue.js (explained in the midst of this post), however the scripts themselves will be completely rebuilt from the ground up, so that’s not really going to help in this case (I don’t have plans on doing this function at any rate - it’s essentially test code and whatever actual visualization we use will most certainly be bundled in with the new puzzle UI).

1 Like

Thanks LFP6 for this context, this is very helpful. 

Thanks to all for their interest in helping sort out the code - very much appreciate your enthusiasm and generosity of spirit. I have to agree with LFP6 on open source not being an option at this particular moment, especially if we have any security issues to consider, primarily as I explain elsewhere due to the fact that with limited resources on the senior dev side, and with limited volunteer bandwidth as well, there is no guarantee that we have the collective time to ensure open source would get the eyes on the code it needs to succeed. So even if we each have the best intentions and competency, if the next person does not, the community is not large enough to provide the oversight that a project such as Mozilla or Linux enjoys, for example.

There are many discussions on the web, e.g. stack exchange, about pros and cons of open source, and appropriate ecosystems in which they thrive or fail. I believe in the case of a large ecosystem with many contributors and senior devs to provide peer review, that open source has significant security advantages, provided that peer review and Live push gating is in fact happening functionally.

However, in an ecosystem as small as ours, there is simply not enough senior dev time to provide code reviews and manage deployments at a scale much larger than we already have.

Therefore for those who wish to do player dev, I heartily recommend LFP6’s analysis in the Limited Resources post, which provides an excellent and informative review of the areas in which player dev is currently active, and outlines the current constraints of player dev as well. 

At some time in the future, things may change of course. But as things stand now, I add one more voice of caution about the fact that fully open source player dev may simply not be possible or advisable at this time due to very real time limitations on our senior devs, and the very very very tiny niche community pool in which this particular form of life is taking shape.

We have been through multiple calls for the community to simply QA various dev changes or prototypes, and at times the volume of response has been modest enough that while people here do care and try their best, at this time we can by no means _depend_ on a community this small to provide proper open source dev oversight. At other times, like with Vineet’s 3D prototype, the volume of response was so enthusiastic that we had more feedback than could be implemented. So whether the community response is large or small, the bottleneck is at the core dev team level - the purpose of my limited resources post is to explore how to address this very bottleneck.

I remember Rhiju mentioned that changing our expectations of the community may be healthy, in not expecting our community to be huge and all powerful, but rather small and targeted efforts, applying our most dedicated volunteers to the niche skill they do best: designing molecules. This is also why I wish to ensure that volunteers have time for what we really need them to do: crunch RNA. Because there are so few of us. And the dev stuff, I really wish to see sorted by a professional. 

All that being said, I may still myself pursue building out infrastructure to organize whatever player dev opportunities we do have, and anyone who wants to contribute, we are always grateful for whatever you can and wish to do. If we can solve our dev issues with volunteer work, I will be only grateful. But there are real constraints that we are working with, so here they are, and hopefully we can choose how to spend our time most effectively within these constraints.

I just want to clarify some statements I made (will probably go into this a bit more in the other topic). The reservations I mentioned are not with the concept of open sourcing in general. What I’m saying is that there are concerns with open sourcing the CURRENT code because of CURRENT issues. In fact, I’d reccomend that we start a new open source project SPECIFICALLY BECAUSE there are not dev resources being devoted to fixing these issues. As far as having time to vet - I’m a bit on the fence. There has been no visible software changes recently, so saying “we’ll leave it for the core team to work on” is appearing to wind up being “we’ll just let it sit”, which is, as I said, highly undesirable.

1 Like

Thank you - I’d like to second this clarification - I also have no opinion on “all” open source projects, because each one is different. For our current situation, open sourcing the existing eterna platform does not have enough senior dev bandwidth for success.

A ground up parallel open source effort is an interesting idea, and may be more successful at first, but eventually may still suffer from the same lack of resources and oversight. Even if we pull a heroic effort between us at first, like with Vineet’s 3D prototype, if we cannot maintain that involvement, or get our final / functional platform vetted by the dev team, we still cannot guarantee security or continued oversight thereafter.

Hence the interest in finding ways to increase resources to the core team.

Neither was I speaking about “all” OSS projects. What I am saying is that we cannot open source the current code as-is because it contains various potential vulnerabilities. However, I’m wondering if at the current time the best option is to open source a new website, because of the fact that the current dev team does not have the bandwidth for fixes or building a new platform.

That said, you do have a completely valid & important point. Without core dev team resources, I don’t think this project can be sustainable.