# data[].attributes.headline
The activities must be very clear in terms of the meaning of the duration: is the duration the time the trainers takes to learn the tool or is the duration the time to implement it in a given context

# data[].attributes.subject
The activities must be very clear in terms of the meaning of the duration: is the duration the time the trainers takes to learn the tool or is the duration the time to implement it in a given context

# data[].attributes.headline
The main goal is the acquisition of the knowledge and skills to support entrepreneurs and managers in the food and beverage industry

# data[].attributes.subject
The main goal is the acquisition of the knowledge and skills to support entrepreneurs and managers in the food and beverage industry

# data[].attributes.body
The main purpose of the training course and also the definition of it, its characteristics and elements and the steps must be previous at the very beginning of the course.

# data[].attributes.headline
ask a for an emailadress from the participants they want to share. Don't use their official emailadress. ;-)

# data[].attributes.subject
ask a for an emailadress from the participants they want to share. Don't use their official emailadress. ;-)

# data[].attributes.body
The tasks along the domains better be interconnected, that is, it would be interesting to further develop something that starts in the first module all along the other modules. For instance, set up the coordination aspects and then design a part of it, tasks and content, etc...

# data[].attributes.body
Promote didactic and pedagogic competences, to teach adult trainers how to develop adult digital literacy, and which technologies can add value to this achievement.

# data[].attributes.body
The level of difficulty needs to be coherent all along. Either one same level, or maybe two parts on each module with easier and then more difficult activities.

# data[].attributes.body
stimulate the adult to upgrade their competencies

# data[].attributes.body
Use as much as possible open source software. Some alternatives:

# data[].attributes.attachment_link.readable_text
Download the authoritative guide: Cloud Computing 2019: Using the Cloud for Competitive Advantage

The educational community has discovered open source tools in a big way. Analysts predict that schools will spend up to $489.9 million on support and services for open source software by 2012, and that only includes charges related to operating systems and learning management systems. Teachers, professors and home schoolers are using open source applications as part of their educational curriculum for a wide variety of subjects.

For this list, we've collected educational apps from a variety of categories that can replace popular commercial software. In many cases, the open source options listed here offer features that aren't matched by their closed source counterparts. And while we limited our list to 50 apps, you can find many more on the Web.

Astronomy

1. Celestia replaces Starry Night

Celestia lets you view the night skies from any point on earth at any time or virtually fly through space to see the sky from any point in the known universe. Although Starry Night comes with some additional resources (a book and some videos) that add more information about space, Celestia offers the same functionality-and it's free instead of hundreds of dollars. Operating System: Windows, Linux, OS X.

While Stellarium doesn't let you fly through the universe like Celestia (above), it does let you view the night skies from any point on earth's surface at any date and time. It's so accurate, it's used by a number of planetariums, and it's better than most of the comparable commercial applications. Operating System: Windows, Linux, OS X.

Part of the KDE desktop, KStars offers much the same functionality as Stellarium-seeing the night sky from any point on earth at any time. It also adds some features for amateur astronomers, like the observing list, altitude vs. time tool, and the what's up tonight tool. (Note that in order to use KStars on Windows, you'll have to download KDE for Windows.) Operating System: Windows, Linux.

Art

4. Tux Paint replaces KidPix

Best for younger children, TuxPaint lets kids make their own artistic creations with a variety of stamps, drawing tools, and special effects. Because of its light footprint, it can run on old or new PCs, including tablets. Operating System: Windows, Linux, OS X.

Chemistry

Classroom Management

Intelligent Teaching and Learning with Computers, aka iTALC, gives teachers the tools they need to manage a computer-based classroom without the high license fees of commercial software. Key features include remote control, demo viewing, overview mode, workstation locking and VPN access for off-site students. Operating System: Windows, Linux.

Educational Games

Kids age 2 to 10 will find a huge number of educational games to play in GCompris. It covers basic keyboard awareness, geography, algebra, reading, art and much more. Operating System: Windows, Linux.

Aimed at pre-schoolers and kindergarteners, this app includes a variety of memory and letter recognition games, as well as classic pong and pacman. The graphics aren't as well developed as the commercial products, and it doesn't have a storyline, but the games are fun for young children. Operating System: Windows, Linux, OS X.

Foreign Language

9. ZWDisplay replaces Declan's ReadWrite Chinese

Learning to read Mandarin? Input Chinese characters, and this app will show you how to pronounce them (in pinyin) and what they mean in English. Like a flashcard application, it also remembers which words you have already learned. Operating System: Linux.

10. Step Into Chinese replaces Declan's ReadWrite Chinese

Like ZWDisplay, Step Into Chinese helps English-speaking Chinese learners recognize Chinese characters. It also includes a screensaver and flashcard mode. Operating System: Windows, Linux, OS X.

11. Zkanji replaces JISHOP

Zkanji includes a kanji dictionary and several other helpful functions. It offers multiple search methods (including drawing characters with a mouse or tablet), a built-in study program, a tool that teaches you to draw the characters and more. Operating System: Windows.

Flashcards

Based on the Leitner Method, FlashQard lets you create "different card types for different purposes" and presents the cards in a manner designed to optimize learning. It also includes a handy "e-speak" feature that pronounces vocabulary words for you. Operating System: Windows, Linux.

Designed primarily for learning a foreign language, this Java-based program includes the capabilities to track a vocabulary word's gender, part of speech, and examples of the word in use in a sentence. Other jVLT users have created pre-existing vocab lists that you can download, including English-Czech, German-French, Thai-English, French-English, practical Chinese, and several others. Operating System: Windows, Linux, OS X.

This app is both a memory tool and a research project into the nature of long-term memory. It offers a number of pre-made card sets contributed by users, and it's recently been updated with a plug-in that allows you to use it on Android phones. Operating System: Windows, Linux, OS X, Android.

This flash card app exercises your ultra-short-term, short-term, and long-term memory to help you memorize virtually any set of facts. And because it's Java-based, you can use it online or offline on nearly any system, including smartphones. Operating System: OS Independent.

This flashcard program for the KDE desktop offers multiple quizzing options to help you learn new vocabulary in English or another language, including anagrams, multiple choice, written (typed) tests, fill in the blank, conjugations and more. You can make your own list, or use one of the numerous user-created lists. (Note that in order to use Parley on Windows, you'll have to download KDE for Windows. Operating System: Windows, Linux.

Like Pauker, jMemorize is Java-based so it works on any system, and like FlashQard, it uses the Leitner System for presenting cards and tracking progress. The interface isn't as attractive as some of the commercial apps, but it's still very functional. Operating System: OS Independent.

This flashcard/study tool lets you create flashcards on virtually any subject, using text, graphics, video, audio, or scientific markup. And it tracks your study sessions and progress so you can see how you're doing. Anki supports virtually every OS available, and you can access the online version from your smartphone. Operating System: OS Independent.

Geography

19. WorldWind replaces Google Earth

The original .Net version of WorldWind offers very similar functionality as Google Earth. Now you can also download a Java SDK for WorldWind that lets you create your own apps based on the technology. For educators who aren't interested in writing their own apps, the site also includes links to Web applications that other people have created with WorldWind, including ones that track earthquakes and global warming. Operating System: OS Independent.

20. Marble replaces Google Earth

This world globe app offers special features for classroom teachers, like topographic maps, map keys, temperature and precipitation maps, and more. You can even change the date and time and watch how the sky and twilight zone on the map changes. Operating System: Windows, Linux, OS X.

Library

Designed by libraries for libraries, VuFind provides a Web 2.0 search portal with advanced features that make it comparable to most commercial packages, including faceted search, a "more like this" button, and social features. It also offers a very attractive interface and extensive help. Operating System: OS Independent.

While it doesn't offer as many features or the ease of use of some of the commercial package, OpenBiblio offers good, basic library management functionality. It works with most barcode scanners, and extensive help and other resources are available on the Web site. Operating System: OS Independent.

Developed in New Zealand, Koha claims to be "the first open-source Integrated Library System." It boasts a very complete feature set, including modules for circulation, cataloging, acquisitions, serials, reserves, patron management, branch relationships, and more. Operating System: OS Independent.

Logic/Debate

24. Argumentative replaces Rationale

Like Rationale, Argumentative lets users create "argument maps," visual displays of the reasoning involved in creating a good argument. It's great for students studying persuasive writing, logic, debate, speech, social studies, and any subject that requires essay writing. Operating System: Windows.

Math

25. GraphCalc replaces Visual Math

GraphCalc does everything a handheld graphing calculator would do, and it's easy to use. As the Web site says, "GraphCalc can be your first, last, and only line of offense against the mathematics that threaten to push you over the brink of insanity. It slices, dices, shreds and purees functions that leave other calculators wondering what hit them." Operating System: Windows, Linux.

26. gnuplot replaces Visual Math

This command-line tool creates both 2D and 3D graphs from mathematical functions. Because it doesn't have a GUI, it's not as easy to use as most of the other graphing apps, but it does have extensive help available on the Web site. Operating System: Windows, Linux, Unix, OS X, and others.

27. TTCalc replaces Scientific Advantage

This calculator doesn't graph, but it does perform a multitude of scientific operations using very large numbers. Unlike the Scientific Advantage product, it doesn't keep track of units, however. Operating System: Windows.

28. Maxima replaces Visual Math

Calling itself "a computer algebra system," Maxima graphs in 2D and 3D and performs differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. It offers a barebones graphic interface, or you can run it in command line mode. Operating System: Windows, Linux, OS X.

Miscellaneous

29. BingoCardMaker replaces BingoCardPrinter

Need a fun way to teach students new vocabulary words? This Java-based app lets you create Bingo Cards easily using your bank of images. Operating System: OS Independent.

Music

30. LenMus replaces Practica Musica

Developed by a music student, this app helps users learn music theory concepts and improve their ear. It also includes a basic score editor for composition students. Operating System: Windows, Linux, OS X.

31. GNU Solfege replaces Earmaster Want to improve your musical ear? Like Earmaster, GNU Solfege offers a number of exercises that teach students to identify and sing intervals, recognize rhythms patterns, sing scales and chords, and identify harmonic progressions. Operating System: Windows, Linux, OS X.

Physics

32. Step replaces Yenka Physics Bundle

Step doesn't have as many features as Yenka, and it isn't as pretty, but it does a good job of demonstrating the effect of physical forces. To use it, you simply place some virtual objects in the demonstration area, add some forces and see what happens. (Note that in order to use Step on Windows, you'll have to download KDE for Windows.). Operating System: Windows, Linux.

Online education/eLearning

Used by hundreds of organizations in 93 countries, Claroline makes it easy to upload course documents, create online exercises, develop a learning path, coordinate group work, and track student progress. It also includes a calendar, wiki, chat, and the other features you would expect in an eLearning system. Operating System: Windows, Linux, OS X.

Tremendously popular, Moodle boasts more than 35 million users on more than 48,000 eLearning sites, and the Web site includes a substantial amount of support. It can be used to run a complete online class or to augment a face-to-face learning situation. Operating System: Windows, Linux, OS X.

eFront is available in both a free, community edition, or a commercial edition that provides paid support. One of the more attractive eLearning systems, its designers specifically intended to create an easy-to-use and aesthetically pleasing interface. Operating System: Windows, Linux.

Widely used internationally, ILIAS supports multiple languages. It includes all of the standard LMS modules, plus the ability to accept and track payment for courses. The Web site includes a helpful demo of the application's features. Operating System: Windows, Linux.

Religion

37. BibleTime replaces Logos

While it doesn't have as many Bible study tools as Logos, BibleTime does provide access to more than 200 Bible texts, commentaries, and related books from the Crosswire Bible Society. You can read the text or commentaries straight through or use the handy search and cross-reference features. Operating System: Windows, Linux, OS X.

38. Xiphos replaces Logos

Xiphos offers access to the same types of resources as BibleTime with a more user-friendly interface and a few more features. It offers a tabbed display, read-aloud capabilities, and the ability to create your own modules for journals, prayer lists, etc. Operating System: Windows, Linux.

39. Zekr replaces Al-Qari Plus

Zekr lets you read and search the text of the Qu'ran in English or Arabic. Helpful extensions read the Qu'ran aloud and provide additional translations. Operating System: Windows, Linux, OS X.

Report Authoring

Used by some of the world's leading educational institutions and other organizations, WIKINDX makes it easy to track quotes and format citations. It supports multiple style guides and many of the leading content management systems. Operating System: OS Independent.

Student Information System

Because it charges no upfront licensing feeds, the "Open Source Student Information System," or openSIS, can lower a school district's total cost of ownership by 75 percent when compared to PowerSchool or other similar systems. Like the commercial software, it integrates student demographics, gradebooks, scheduling, attendance, and more. Operating System: Windows, Linux.

This newer SIS is completely Web-based and designed to make it as easy as possible to comply with state reporting requirements. It also streamlines attendance taking, scheduling, grading, and other administrative tasks. Operating System: OS Independent.

This Web-based school administration program offers different Web sites for administrators, teachers, parents, and liaison officers. The interface is bare-bones, but it does offer an extensive feature set and is available in multiple languages. Operating System: OS Independent.

Testing

With TCExam, your students can take an exam from any PC or mobile device with a browser. It greatly simplifies test preparation and grading. You can download the code directly to your Web server or purchase a TCExam hardware appliance. Operating System: OS Independent.

To use this app, you first create a database of questions and answers. You can then have iTest create unique tests for each student or each group of students. While students are taking the test, it offers the instructor an overall view of what's happening. Operating System: Windows, Linux, OS X.

47. Safe Exam Browser replaces Respondus LockDown Browser

When your students are taking a test, you don't want them to be surfing the Internet or using other applications that might help them cheat. This app prevents them from leaving the test window, using shortcuts, right-clicking, etc. Operating System: Windows.

Typing

Designed for elementary students who are learning their way around the keyboard, TuxType offers basic typing lessons and two fun typing games. This app doesn't offer quite as many games, lessons, and features as the commercial software, but it does provide a good introduction to typing for young students. Operating System: Windows, Linux, OS X.

Unlike many other typing programs, Klavaro makes it easy to learn to type on international and other non-standard keyboard layouts in addition to the standard QWERTY keyboard. This app includes progress tracking and a contest that can run on a local network, but it lacks some of the fun games of other apps. Operating System: Windows, Linux.

The interface on TypeFaster is pretty basic, but it gets the job done. Like Klavaro, TypeFaster supports multiple keyboards and languages, and it offers a "multi-user with teacher support" version that lets teachers specify which lessons students should work on each day. Operating System: Windows, Linux.

RELATED NEWS AND ANALYSIS

DATAMATION DAILY NEWSLETTER

Most Recent Open Source Articles

# data[].attributes.attachment_link.title
50 Open Source Tools That Replace Popular Education Apps

# data[].attributes.attachment_link.description
Download the authoritative guide: Cloud Computing 2019: Using the Cloud for Competitive Advantage The educational community has discovered open source tools in a big way.

# data[].attributes.headline
Using ICT to create highly interactive lessons where students have the opportunity to test practically the tools and activities needed to succeed in the food and beverage business (e.g. making a business plan)

# data[].attributes.subject
Using ICT to create highly interactive lessons where students have the opportunity to test practically the tools and activities needed to succeed in the food and beverage business (e.g. making a business plan)

# data[].attributes.headline
It needs to be clear the purpose of the evaluation tool: does it identify the individuals, or is just a global info on a group; does it save the results and they can be reused or they desapear after use; ..... 

# data[].attributes.subject
It needs to be clear the purpose of the evaluation tool: does it identify the individuals, or is just a global info on a group; does it save the results and they can be reused or they desapear after use; ..... 

# data[].attributes.headline
the dificulty levels have bo be clear in terms of ICT competence they point to. In some 

# data[].attributes.subject
the dificulty levels have bo be clear in terms of ICT competence they point to. In some 

# data[].attributes.headline
the dificulty levels have bo be clear in terms of ICT competence they point to. In some place there should be 

# data[].attributes.subject
the dificulty levels have bo be clear in terms of ICT competence they point to. In some place there should be 

# data[].attributes.body
a minimum description

# data[].attributes.headline
the dificulty levels have bo be clear in terms of ICT competence they point to

# data[].attributes.subject
the dificulty levels have bo be clear in terms of ICT competence they point to

# data[].attributes.body
to give the adult a platform where he can work on his own time and pace.

# data[].attributes.body
The activities should be defined separately of the tools. Tools must be resources to develop a defined activity, but activity is not created from a tool, or explained from it.

# data[].attributes.body
Alternative to slack

# data[].attributes.attachment_link.readable_text
In any collaborative environment, it's important to have good tools for communication. What tools work best for you depends a bit on your situation, but might include anything from mailing lists for email communication, Git or Subversion for version control, a wiki or Etherpad for collaborative authoring, a shared task list for organizing workflow, or even a full-fledged project management suite.

One collaboration tool which has become indispensable is team chat. Whether your colleagues are sitting across the room from you or on the other side of the planet, the ability to communicate in real-time makes many conversations faster, easier, and can help reduce confusion that might emerge in asynchronous communication.

There's still a perception out there in some circles that chat applications can be a distraction, and I do believe it's important to have a commitment to reel in off-topic threads before they create a cognitive disruption. And it's equally important to be able to give yourself the space to work uninterrupted when you have tasks that require longer periods of concentration. As I write this, for example, I'm using at least two team collaboration tools, but the notifications are silenced so that I can check in periodically as the breaks in my work allow for it, just as I silence social media notifications when I really need to get stuff done.

I would advocate that for your team collaboration needs, you pick a tool that's exclusive to work, though not everyone agrees on this. Personally, I find it too easy to be distracted by non-work conversations when I reuse the chat feature of, say, a social media tool. I like to keep work separate so I can turn off personal communications when I'm at work, and vice versa. But do what works best for your team.

Slack quickly became the darling of software development circles, leading to the displacement of many other tools. An article in The Next Web proclaimed "Slack is quietly, unintentionally killing IRC," and this switch has also come to many open source communities. The developers behind Wordpress, for example, have switched to Slack for their team communications.

But Slack is a closed source SaaS tool, and it's far from the only name in the game. In fact, open source might be critical to your business chat needs. If you work with sensitive information or need to make sure that all communication stays behind a firewall, self-hosting might be your best option. And access to the source helps you ensure that the communication between you and your team isn't seeping out of your control through some nefarious addition to the codebase.

Let's look at a few open source alternatives, from old classics to brand new, that might be a good fit for you and your team's chat needs.

IRC

You didn't think we'd be able to start this list off without talking a little more about IRC, did you? Internet Relay Chat, or IRC, is a protocol which dates back to the late 1980s. Since it's been around so long, there are numerous open source implementations on both the client and the server side.

Coming with its age, however, are numerous drawbacks. It lacks many features one might expect in a modern chat client, from security to identity management to even just being able to easily transmit non-text components, like images, files, or emoticons (the latter might be seen as a plus to some, however). Some features have been implemented after-the-fact through bot services, including nickname management, logging, and other features, but these vary from server to server.

IRC does still have some things going for it, though. It's nearly universal, and clients are available for basically every platform out there. Though the command-driven interface isn't necessarily intuitive for beginners, many clients re-implement commands through a GUI. And if you're doing upstream open source development, there's a good chance you're already hanging out in IRC anyway, so adding a team server might be a path of least resistance.
Want to learn more about IRC? Check out our free IRC cheat sheet.
Let's Chat

A more modern approach to team chat is a program called Let's Chat, which is released under an MIT license and written on top of the popular Node.js platform. It comes with many of the things you might expect if you're familiar with a client like Slack: image embeds, @ mentions, file uploads, logging, etc. It features multiple rooms, which are a must if you're working on a team of more than a couple of people. And it's easy to install and self-host, either through a traditional method or by using Docker or Vagrant, or as a part of Sandstorm.io if you're deploying other tools for your team.

Let's Chat can also integrate with your existing Kerberos or LDAP authentication server, so you can use the same login you use across the rest of your organization. And it features an API so you can extend it or connect it with other tools. Want to try it out? Here's an online demo, although it's worth noting the demo doesn't implement all of the features available in the project, including file upload.

Mattermost

Mattermost is another very modern approach to team chat. Currently in its beta release, Mattermost is written in Golang with a good chunk of JavaScript under the React framework. It features private and public chats, including one on one communication, good archival support, and a very similar interface to Slack, including most of the features you've come to expect there. In fact, if you're already using Slack, there's an easy import function which lets you move over your current channels and archives. Mattermost also integrates into your organization's existing LDAP or Active Directory authentication systems.

One feature I really like is the ability to upload sound, video, or images directly from your mobile device, which seems handy when communicating on the go. Mattermost is licensed under an "Apache-wrapped AGPL" which is not unlike the license for MongoDB. Check out the source code on GitHub, or give it a try with its easy Docker-based installation.

Rocket.Chat

Rocket.Chat is written in CoffeeScript and JavaScript on top of the Meteor framework. Like the two others directly above, Rocket.Chat is designed for you to download and run on-premise with a client interface for either desktop or mobile access. It hosts many of the same features as other modern clients, from desktop notifications to image and file uploads to an archived history with search, and integration with LDAP. Planned and in the roadmap are a native Android application, Kerberos support, and integration with many other tools from GitLab to antivirus tool for attached files.

Rocket.Chat features an online demo, and you can check out its source code on GitHub as well. Rocket.Chat is available under an MIT license.

Riot.im

One of the options which has become increasingly popular since this article was originally published, and now deserves its own spot in the list, is Riot.im. Riot has a collection of web and mobile tools which can be used to connect to Matrix, an "open network for secure, decentralized communication."

Riot is also perhaps the easiest of these tools to try, since its web client is hosted. You can also check out the full source for all of the projects on GitHub, under an Apache 2.0 license.

Thanks to bridge integrations, you can also use Riot to interconnect with services utilizing IRC, Slack or Gitter, potentially allowing you to replace multiple other clients with a single open source option.

To learn more about Riot, go check out our full introduction to the project.

Other options

The list above is far from exhaustive, and I encourage you to look around and try a few others out before you make a decision. Have another favorite that didn't make the list? Let us know in the comments below so everyone can check it out!
This article was originally published in November 2015 and has been updated to include new information and additional tools.

# data[].attributes.attachment_link.title
5 open source alternatives to Slack for team chat

# data[].attributes.attachment_link.description
In any collaborative environment, it's important to have good tools for communication. What tools work best for you depends a bit on your situation, but might include anything from mailing lists for email communication, Git or Subversion for version control, a wiki or Etherpad for collaborative authoring, a shared task list for organizing workflow, or even a full-fledged project management suite.

# data[].attributes.body
Start with a very clear definition and discussion of the 6 domain, clarifying what the course will do on each.

# data[].attributes.body
use different kind of multimedia resources to achieve all group

# data[].attributes.headline
The online platform could be launched before the start of the class for learners to share their expectation of the course as a "needs assessment"

# data[].attributes.subject
The online platform could be launched before the start of the class for learners to share their expectation of the course as a "needs assessment"

# data[].attributes.body
create/plan an alternative/back up in case technology fails or adults having problems/issue to connect

# data[].attributes.headline
The evaluation will take into consideration different aspects: 
the individual skills acquired by the learner
the team working skills
the problem solving skills
the ability to envision long terms goals

# data[].attributes.subject
The evaluation will take into consideration different aspects: 
the individual skills acquired by the learner
the team working skills
the problem solving skills
the ability to envision long terms goals

# data[].attributes.body
Alternative to slack:

# data[].attributes.attachment_link.readable_text
In any collaborative environment, it's important to have good tools for communication. What tools work best for you depends a bit on your situation, but might include anything from mailing lists for email communication, Git or Subversion for version control, a wiki or Etherpad for collaborative authoring, a shared task list for organizing workflow, or even a full-fledged project management suite.

One collaboration tool which has become indispensable is team chat. Whether your colleagues are sitting across the room from you or on the other side of the planet, the ability to communicate in real-time makes many conversations faster, easier, and can help reduce confusion that might emerge in asynchronous communication.

There's still a perception out there in some circles that chat applications can be a distraction, and I do believe it's important to have a commitment to reel in off-topic threads before they create a cognitive disruption. And it's equally important to be able to give yourself the space to work uninterrupted when you have tasks that require longer periods of concentration. As I write this, for example, I'm using at least two team collaboration tools, but the notifications are silenced so that I can check in periodically as the breaks in my work allow for it, just as I silence social media notifications when I really need to get stuff done.

I would advocate that for your team collaboration needs, you pick a tool that's exclusive to work, though not everyone agrees on this. Personally, I find it too easy to be distracted by non-work conversations when I reuse the chat feature of, say, a social media tool. I like to keep work separate so I can turn off personal communications when I'm at work, and vice versa. But do what works best for your team.

Slack quickly became the darling of software development circles, leading to the displacement of many other tools. An article in The Next Web proclaimed "Slack is quietly, unintentionally killing IRC," and this switch has also come to many open source communities. The developers behind Wordpress, for example, have switched to Slack for their team communications.

But Slack is a closed source SaaS tool, and it's far from the only name in the game. In fact, open source might be critical to your business chat needs. If you work with sensitive information or need to make sure that all communication stays behind a firewall, self-hosting might be your best option. And access to the source helps you ensure that the communication between you and your team isn't seeping out of your control through some nefarious addition to the codebase.

Let's look at a few open source alternatives, from old classics to brand new, that might be a good fit for you and your team's chat needs.

IRC

You didn't think we'd be able to start this list off without talking a little more about IRC, did you? Internet Relay Chat, or IRC, is a protocol which dates back to the late 1980s. Since it's been around so long, there are numerous open source implementations on both the client and the server side.

Coming with its age, however, are numerous drawbacks. It lacks many features one might expect in a modern chat client, from security to identity management to even just being able to easily transmit non-text components, like images, files, or emoticons (the latter might be seen as a plus to some, however). Some features have been implemented after-the-fact through bot services, including nickname management, logging, and other features, but these vary from server to server.

IRC does still have some things going for it, though. It's nearly universal, and clients are available for basically every platform out there. Though the command-driven interface isn't necessarily intuitive for beginners, many clients re-implement commands through a GUI. And if you're doing upstream open source development, there's a good chance you're already hanging out in IRC anyway, so adding a team server might be a path of least resistance.
Want to learn more about IRC? Check out our free IRC cheat sheet.
Let's Chat

A more modern approach to team chat is a program called Let's Chat, which is released under an MIT license and written on top of the popular Node.js platform. It comes with many of the things you might expect if you're familiar with a client like Slack: image embeds, @ mentions, file uploads, logging, etc. It features multiple rooms, which are a must if you're working on a team of more than a couple of people. And it's easy to install and self-host, either through a traditional method or by using Docker or Vagrant, or as a part of Sandstorm.io if you're deploying other tools for your team.

Let's Chat can also integrate with your existing Kerberos or LDAP authentication server, so you can use the same login you use across the rest of your organization. And it features an API so you can extend it or connect it with other tools. Want to try it out? Here's an online demo, although it's worth noting the demo doesn't implement all of the features available in the project, including file upload.

Mattermost

Mattermost is another very modern approach to team chat. Currently in its beta release, Mattermost is written in Golang with a good chunk of JavaScript under the React framework. It features private and public chats, including one on one communication, good archival support, and a very similar interface to Slack, including most of the features you've come to expect there. In fact, if you're already using Slack, there's an easy import function which lets you move over your current channels and archives. Mattermost also integrates into your organization's existing LDAP or Active Directory authentication systems.

One feature I really like is the ability to upload sound, video, or images directly from your mobile device, which seems handy when communicating on the go. Mattermost is licensed under an "Apache-wrapped AGPL" which is not unlike the license for MongoDB. Check out the source code on GitHub, or give it a try with its easy Docker-based installation.

Rocket.Chat

Rocket.Chat is written in CoffeeScript and JavaScript on top of the Meteor framework. Like the two others directly above, Rocket.Chat is designed for you to download and run on-premise with a client interface for either desktop or mobile access. It hosts many of the same features as other modern clients, from desktop notifications to image and file uploads to an archived history with search, and integration with LDAP. Planned and in the roadmap are a native Android application, Kerberos support, and integration with many other tools from GitLab to antivirus tool for attached files.

Rocket.Chat features an online demo, and you can check out its source code on GitHub as well. Rocket.Chat is available under an MIT license.

Riot.im

One of the options which has become increasingly popular since this article was originally published, and now deserves its own spot in the list, is Riot.im. Riot has a collection of web and mobile tools which can be used to connect to Matrix, an "open network for secure, decentralized communication."

Riot is also perhaps the easiest of these tools to try, since its web client is hosted. You can also check out the full source for all of the projects on GitHub, under an Apache 2.0 license.

Thanks to bridge integrations, you can also use Riot to interconnect with services utilizing IRC, Slack or Gitter, potentially allowing you to replace multiple other clients with a single open source option.

To learn more about Riot, go check out our full introduction to the project.

Other options

The list above is far from exhaustive, and I encourage you to look around and try a few others out before you make a decision. Have another favorite that didn't make the list? Let us know in the comments below so everyone can check it out!
This article was originally published in November 2015 and has been updated to include new information and additional tools.

# data[].attributes.attachment_link.title
5 open source alternatives to Slack for team chat

# data[].attributes.attachment_link.description
In any collaborative environment, it's important to have good tools for communication. What tools work best for you depends a bit on your situation, but might include anything from mailing lists for email communication, Git or Subversion for version control, a wiki or Etherpad for collaborative authoring, a shared task list for organizing workflow, or even a full-fledged project management suite.

# data[].attributes.headline
anonymous posting might be a good idea to share ones own point of views and to give feedback.

# data[].attributes.subject
anonymous posting might be a good idea to share ones own point of views and to give feedback.

# data[].attributes.body
promote formative evaluation during all course
promote self evaluation to support metacognition