I want to share with you one open-source project we want to create with the Elixir/Erlang community. We found this idea because we are annoyed by all social-network… We were talking about how our data are shard across many other companies but also all the time we are losing by creating content that are not under our control. We were also talking about how it is difficult to share access to one or more account without sharing password to someone else… Well, after this long talk, we finally decided to create something around it.
At RunAs, we want to solve these problems by creating an open-source software based on Erlang and Elixir. We also want to share this software with the world and create a new way to deal with our own data. After three months of test, studies and research, we finally decided to try a different approach and share all our knowledge with the community.
We are really proud to announce, today, the birth of SNA (Social Network Automation), an open-source software and libraries written in Erlang and Elixir, to manage content on social networks. We want to ease and give back to users what the social network stole us: our freedom.
Why a message on Elixir forum? We think Erlang/Elixir communities are great and full of talented people working for easy to use, safe and maintainable software. Our project is big, and complex, we need smart and open mind working together to solve these problems.
So, what the deal? We are using an apache-2.0 license on all our code, some will probably be also in MIT license, because we think being open is the right thing to do. All our researches will also be available soon.
Lot of people asked us questions, so, I think we should share the answer with everybody, here our FAQ:
Why a new software as Open-Source?
We are using open-source everywhere, in our daily life, we take a lot but we don’t give enough. We want to make a bet, create a company with nothing than open source software, and more, totally open to anyone. We think that, actually, the world need to change to a more open and wise one.
We think these two languages and underlying technologies (e.g. BEAM) are the most stable and secure way to create high quality software as long living processes.
OpenBSD is probably the most secure and audited OS in the world. We really care about security and privacy. We trust OpenBSD team because they actually maintain some of the most used open source software like SSH, LibreSSL, OpenSMTPd and many more. OpenBSD is also an incredibly simple system to manage, upgrade and customize. We think this is the best one to make our project secure by default and not worrying about safety.
Why Social Network?
The world is a social network experience, we are all interacting with each other. Today, we are more and more dependent of “virtual social network”, like Twitter, Facebook, Instagram and so on. We don’t have a simple way to communicate with them, or keep our data safe. Furthermore, lot of small businesses are going crazy when it comes to manage social network. We want to offer a simple solution based on all essential features of each social network. We think we can help everyone to manage their own social network habit and protect their data.
What is our project?
Our application is divided in three projects. The first one is a library to control easily many social network. This project is called
sna_lib for Social Network Automation Library. It offers facilities to create and manage social network API.
The second project is our main application, called
sna, directly linked to
sna_lib, will give you a graphical way to manage all your social network account. It will embed a webserver based on Phoenix, token management based on Ueberauth and other common libraries used by the community.
Finally, the last project is based on a small OpenBSD image, and will contain everything needed to boot properly one long-living SNA node with security in mind. It will be designed to run in virtual machine.
Concretely, how things works under the hood?
Our application wants to be a long living process, using all Elixir and Erlang feature to make it running for a long period of time. All connections to remote end-point must stay alive.
We want to create one common and logical data-structure to manage many social network API. This data-structure will be altered like a Phoenix connection data-structure and Plugs. Every pipe will add or remove one or more features.
We know that will be a huge amount of work, so, at first, we want to only support essential social-network features, the one used by mostly everyone using the social network (e.g. sending tweets for twitter).
We want to keep your data safe by storing the data-structure on our side, with data and meta-data. If something goes wrong with your data, you will never lose it.
What are you maintaining?
We will create and manage 2 mains repository. The first one will be a Web UI frontend to manage our social network habits. This one is actually a kind of PoC. The second repository will contain a library with different helpers to create and manage social network API. In the same time, we are maintaining multiple public repositories about our studies, website and documentation…
How many people are actually working on the project?
At this time, we are 3 people working together in part time:
- Didier works on the communication and business side
- Mathieu works on the design, architecture and the coding side
- Shanti works on the coding side
We have also a small growing community around our project and hope you will be listed there!
Is it a (true) business?
At first, the idea was to create a new partially closed solution about managing social network, a classical company. After 3 months of works together, we decided to not follow the classical way. So, yes, it will be a true business, because lot of people will not have time to manage their accounts, so, we will offer them the service based on our trusted stack (Erlang, Elixir, OpenBSD).
How to help us?
You can do lot of thing! This is a new born project, based on the idea that social network is too important to keep it closed somewhere. You can help us in many way:
- Giving your idea about how things can work
- Create documentation
- Test our application
- Use it daily
- Make criticism about our code and how it works
- Update our studies
- Communicate around you about what we want to do
We want to make a software that make you proud and happy.
Who rules the project?
To be honest, in any project we need people to select ideas and make them in the real world. The focus will always about these 3 things:
- simplicity: we want something really simple to use, for the user, but also for the programmers.
- security: we want something secure by default, no bad surprise, only logical thing about our privacy.
- quality: we want tests and documentation. Our code must be trusted by anyone.
So, the project will be mainly governed and maintained by the community, only the people coming from our team will be able to merge the changes and define priorities in the long term.
What difference with other solutions?
- Community driven development
- Fully Open Source (apache-2.0 license)
- We want to offer a simple solution to many people not only for marketing team
How to contact us?
You can contact us on