Developers

Developer Overview

Developers interested in OpenTG can learn more in this section. In order to create a successful project and final product, this page provides information necessary to participate.

Language Selection

JRuby has been selected as the primary language for this project. Ruby is a dynamic and rapid development language. The JRuby interpreter further extends on the Ruby core language by offering portability to platforms and operating systems supported by Java’s JVM. The Ruby Language has a large selection of gems (libraries), is relatively easy and faster to code in than other more complex languages, is completely object oriented , and has support for a majority of the design goals out of the box. The original Telegard (among other BBS systems) were written primarily in Pascal.

License Selection

OpenTG is developed and released under a BSD style license.

Current Design Goals

Here are some of the key target items:

  • Target operating systems: Linux, FreeBSD, OpenBSD, NetBSD
  • Be Secure! Use encryption wherever it makes sense, avoid calls to external programs, and use top-grade 3rd party libraries.
  • Databases: Store data in a database backend. Embedded mode using H2 or remote using any Sequel JDBC compatible adapter.
  • Utilize YAML for configuration data storage (easy to work with and manually change)
  • Modular type of design to allow for easy extensions and add-on functionality
  • Web Interface to Administration & Status information
  • Web Interface for users to manage their account (ie: Password Resets or New account creation)
  • UTF-8 Character Support plus ANSI colors.

This is by no means an exhaustive list, and additional management and tracking tools will be in place soon. In the meantime, please email me if you are interested in participating with this project (chris.tusa [_a t_] opentg.org).

Coding Standards

To keep the project clean and organized, we ask that developers follow some coding standards:

  • Always start new source code files with the provided ‘srcheader.txt’ template.
  • Maintain code cleanliness: Proper spacing, capitalization, and comments.
  • Try to use stock jruby libraries when possible, or well developed JARS or GEMS when needed otherwise. Try to avoid early adopting newer gems that might change frequently and break things later.

Source Code – New Codebase (BZR) [opentg/2]

Source code for the project is now being kept in a BZR repository at Launchpad.net

Source Code – Old Codebase (SVN) [opentg]

The old codebase is no longer being developed. It was based on C Ruby and is abandoned. The code is still available on RubyForge.org

Developer Subversion Access via SSH

Only project developers can access the SVN tree via this method. SSH must be installed on your client machine. Substitute developername with the proper values. Enter your site password when prompted.

svn checkout svn+ssh://developername@rubyforge.org/var/svn/opentg

How do I check code back in?
In order to check changes or new code into subversion, you should register with the project as a developer. This helps us keep track of who is working on what so efforts are not doubled. This also lets us create goals and more effectively manage the project. Also, you should join the IRC channel to stay in touch with the development team.

FAQ

I am not a programmer. What other ways can I get involved?

There are other items where this project will require help in the future. Things like Documentation, Graphics (ANSI, Avatar, etc), Forum Moderators, Alpha/Beta testers, or just making suggestions or helping spread the word. This is an open-source project by and for the community. Please participate to help make OpenTG a success.

Are you using any source code from the original Telegard BBS?

NO. Although a leaked copy of the source code is floating out in the wild, it is old and its state is unknown. Please do not contribute any original telegard code into this project. If you have a copy of it, consider it un-useable as the Copyright and authenticity is in question. Although WWIV was recently open-sourced, Telegard was written at a time when source code was not. Its original authors may not approve, nor is it the purpose of this project to start a code base from the original. This is a rewrite project to recreate the look and feel, while enhancing and modernizing the functionality.

Do you have plans to make a Windows port?

NO. OpenTG is designed to work similar to a login shell by taking advantage of facilities already provided by *NIX systems such as OpenSSH, Getty, PAM, etc.

What about a MacOS-X port?

Since MacOS-X is based on BSD, it should be relatively easy to create a release. The challenge for this platform will be the GUI tool set. There are no initial plans to build native tools, however testing will be performed to ensure it works in the CLI and under X11 when possible. There may be some additional challenges on MacOS, but the current focus is to get a working Linux port.

Browse Source Code

BBS Resources

Powered By Open-Source

Corporate Sponsors & Donors

Developed withEasy FreeMarker development. Coding
assistance, error highlighting and more

Telegard/2 Project would like to thank JetBrains for their generous donation of an IntelliJ OSS license.

Related Advertisements

Increase your website traffic with Attracta.com