User:VAjanovski

From Foss2Serve
Revision as of 06:22, 1 July 2017 by VAjanovski (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Vangel Ajanovski

Vangel V. Ajanovski is an Assistant professor at the Faculty of Computer Science and Engineering, at the Ss. Cyril and Methodius University in Skopje, Macedonia.

The Faculty of Computer Science and Engineering (FCSE) is the leading Macedonian higher-education and research institution in the computing field, with 60 full-time teaching and research staff members and nearly 4000 students. The Faculty offers many study programs ranging from undergraduate 3yr and 4yr studies at the B.Sc. level, through several M.Sc. programs, up to Ph.D. (D.Sc.) level.

Dr. Ajanovski scholarly interests span many computing and related disciplines: databases and information systems, software engineering, computer graphics, e-learning, development of computer-science and it education and curricula. He is teaching undergraduate courses on: Databases, Information Systems, Analisys and Logical Design of Information Systems, Physical Design of Information Systems, Software Construction, Computer Graphics, Digitization and E-presentation; and master courses on: Information Systems Development Processes, Big Data Analytics, and Management of Databases.

In his free time, he enjoys listening to music and occasionally produces some electronic music. Has an "eye" for photography. Loves films and cinematic experience.

Web page: https://ajanovski.info

Faculty listing: http://www.finki.ukim.mk/en/staff/vangel-ajanovski




Activities

Stage 1A: Intro to IRC

Part 1:

  • How do people interact?
    • The style of discussion is informal. The structure itself is linear, but using special pre-agreed customs and rules the participants managed to keep some structure.
  • What is the pattern of communication?
    • Discussion topic by topic, then action by action in each topic. Round-the-table statements by each participant.
  • Are there any terms that seem to have special meaning?
    • Obvious meetbot commands. + Some jargon that is customary for the project.
  • What advantages might IRC have over other real-time communication methods (like Google Chat or Facebook Messenger?) Are there potential disadvantages?
    • Main advantage is the informality and ease of access, especially with web-based clients. Informality makes it great tool for a simple meeting place, like a city square or bazaar where a group agrees to always be in case they want to meet each other, when they are online. They would not need accounts, registration, special installations etc. It should be imagined as a coffee shop or bar or pub, good for small talk, informal open discussions, informal news/updates.
    • Main disavantage is that it based on a loose network, and occasionally inter-node communication drops and people suddenly and without warning leave the discussion "channels". Another big issue is that the platform as a minimum can not be considered trust-worthy. Unless one performs special registrations and procedures for verification, one can not be sure that the participants are truly who they claim to be. There are ways to solve this, but in general new users should be taught how to take care of these issues so that they don't turn out victims. Third issue is that there is no structure in the discussions, it is just a simple chat. One can try to impose rules, or use special meeting support software clients that take special commands and practices so that a structure is implemented. This is usually rather hard to follow.
  • Can you make any other observations?
    • There are questions by participants, followed by answers by other participants and a general discussion where it is rather hard to follow who responds to what unless one understands the exact context.
  • Bonus question: Why didn't Heidi and Darci's actions get picked up by the meetbot?
    • Actions were picked up, but they were not assigned to heidi or darci. Their nicknames were incorrectly spelled so the bot could not assign them their actions.

Part 2: nothing to deliver, should have successfully installed IRC client

Part 3: observations of the #a11y channel communications and how they differed from the sample dialog in Part 1.

  • No discussions whatsoever in the several days I have been tuned-in this channel.
  • As a contrast to the activity in part 1, I can comment on other channels that I frequented in the past. Most discussions are generic on and off-topic discussions, sometimes support requests are answered. Chatlogger bots are the norm, while meeter bots are rarely used on general public channels, but are in use in some developer channels.

Part 4 (optional): a list of at least 5 commands that will work in the channel that was created, and what they mean.

  • /topic sets channel topic
  • /op gives op rights to nick
  • /kick a nick out of the channel
  • /mode setting mode of channel operation
  • /voice gives voice to nick


Stage 1A: Intro to FOSS

Comparative Review on Sugar Labs and Sahana Eden project status

Aspect Sugar Labs Sahana Eden
License GNU GPL v3 MIT (http://www.opensource.org/licenses/mit-license.php)
Community voluntary community of practitioners, students, academics and companies
Leadership
Forking 120 forks 458 forks
Communication Chat: IRC (#sugar - many present people, scarce discussion, not archived in the last 2yr so cannot evaluate activity)

Mailing list: sugar-devel list is active ~100messages/month
Forum/Google groups: /

Chat: IRC (#sahana - only few persons present in the channel, nothing going on in the logs in the last 2 yr, #sahana-eden - occasional requests each few months, some left unanswered)

Mailing list: too many options, some don't include an archive so one can not check if it's worthy of subscription, no discussions in the general discussions list (at sf.net) in the last 2yr
Forum/Google groups: occasional requests every few months, answered, spam is present

Roadmaps
Releases
Repositories github
alive (last commit 16.5.2017)
top commiter: 1100 commits
7 persons have commited code 10% or more in comparison to the top one
trend: development in peak periods, also many quiet periods - overall volume downwards
github
alive (last commit 29.5.2017)
top commiter: 3400 commits
2 persons have commited code 10% or more in comparison to the top one
trend: steady development - slightly downwards (today 1/2 volume since 5yr ago)
Packaging
Upstream/downstream
Version control
Trackers github: 2 issues github: 23 issues

Part B

FOSS Field Trip

Github

2.1 13594 repositories
2.2 Nodejs/education. Graph of number of commits per date
3.1 303 repositories
3.2 Latest commit 52774db on 22 Apr
4.1 153 repositories

OpenHub

2.1 3463 projects 
2.2 No. Not a single one of them is on Github
2.3 10 similar projects
2.4 Information on the status of the project: various activity graphs and activity reports, lines of code, languages used.
3.1 Humanitarian: 34. Disaster Management: 54
3.2 OpenHub tries to analyze project activity. If it's not able to do so (bad project locations, problems with the code base, ...), it will mark it as Not Available.
4.1 Reports on Organizations and how active are they.
5.1 April 17, 2017
6.1 June 8, 2017
6.2 Github is where the project code is located, so this is the real factual information. OpenHub analyses projects from time to time (it did so for OpenMRS core: "about 2 months ago. based on code collected about 2 months ago" )
7   OpenHub is intended to be a global catalog of projects. Github is a service that some projects use for keeping code, documents, data, website structure, etc. Not all projects use Github as a service for their code.

Project Evaluation

Aspect OpenMRS Sahana
Licensing Mozilla Public License, version 2.0 (it is OSI Approved) MIT (http://www.opensource.org/licenses/mit-license.php) (it is OSI Approved)
Language Java
Activity Active, on avg: 30commits/month in 1y
Number of contributors Total: 263 (4 of them were significantly more active then the others)
Size ~6M lines (2M LOC in Java)
Issue tracker https://issues.openmrs.org (1336 open, 10076 closed, active)
New contributor There is a Developers Guides, and Getting started as a Developer. There are several discussions about Volunteers on the Forums.
Community norms Moto: "There is no such thing as an undocumented convention". So, in accordance to this moto, the Developers Guide is extensively documented with many conventiones, rules. This will be a bit hard for a beginner developer. There is also code of conduct for the community, which focuses on tolerance, communication with others and collaboration.
User base Extensive user guides and manuals. Reports on the blog and website about case studies and examples where it has been in use.

Intro to Copyright and Licensing

Project URL License Can Can Not Must
https://github.com/openmrs/openmrs-core Mozilla Public License 2.0
  • Commercial Use
  • Modify
  • Distribute
  • Sublicense
  • Place Warranty
  • Use Patent Claims
  • Use Trademark
  • Hold Liable
  • Include Copyright
  • Include License
  • Disclose Source
  • Include Original
https://github.com/apache/incubator-fineract Apache License Version 2.0
  • Commercial Use
  • Modify
  • Distribute
  • Sublicense
  • Place Warranty
  • Use Patent Claims
  • Private Use
  • Use Trademark
  • Hold Liable
  • Include Copyright
  • Include License
  • State Changes
  • Include Notice
https://github.com/regulately/regulately-back-end No explicit license.

FOSS in Courses 1 & 2

Information Systems Development Processes

Possible student activities:

  • Document the Vision behind a chosen FOSS project
  • Analysis of the Development process the FOSS project uses and comparison with well-known development process methodology
  • Discuss possible introduction of development process methodology

Structure:

  • Lectures: relevant material is already taught, only introduction to the project will be needed
  • In-class activity: Discussions and Critique of Homeworks
  • Homework: guided week-by-week iterations covering steps on proposed activities
  • Stream of related activities: ?
  • Project: Documentation on the project, Comparison with competing producets (commercial and FOSS)

Software Construction

Possible student activities:

  • Develop a complete new use-case according to feature requests for a chosen FOSS project, working according to the proposed process of some well-known methodology (or the methodology prescribed by the FOSS project)

Structure:

  • Lectures: relevant material is already taught, only introduction to the project will be needed
  • In-class activity: Discussions and Critique of Homeworks
  • Homework: guided week-by-week iterations covering steps on proposed activities
  • Stream of related activities: ?
  • Project: Documentation on the project, Comparison with competing producets (commercial and FOSS)

Team work

Possible student activities:

  • Develop a complete new use-case as ane experimental idea for a chosen FOSS project
  • Analyze FOSS project and create documentation, fix bugs, propose/respond to issues, functional tests, performance/load tests

Structure:

  • Lectures: / (no lectures in this course)
  • In-class activity: / (no in-class activity, course is online and asynchronous)
  • Homework: guided iterations (duration agreed with students) covering steps on proposed activities
  • Stream of related activities: ?
  • Project: Implement a feature that does not exist, but that is experimental and would require additional research on how it could be achieved, create a proposal, and work towards a working prototype

Work Practice

Possible student activities:

  • Depending on level/skills, can formally join project and work on urgent issues for a fixed set of hours
  • This would have to be approved by the institution, with assigned mentor and credits that will be achived if successful

Structure:

  • Lectures: /
  • In-class activity: / (no classes in this course)
  • Homework: / (no homeworks in this course)
  • Work-place position activities: Depends on what is agreed within the contract
  • Stream of related activities: ?
  • Project: Enable the student to join the project and do some work that the project managers see fit, like an employee in the project would do. This has to be agreed in advance, workload should be comparable to a standard 1 semester course, with similar number of hours and complexity.

Databases

Possible student activities:

  • Create various reports of interest to the project development processs or project features based on SQL
  • Propose model database for additional features and develop a basic throw-away prototype to demonstrate

Structure:

  • Lectures: The model of the database of the FOSS project can be discussed during classes as a case-study for excercices
  • In-class activity: Discuss database model structure and consider alternative solutions
  • Homework: Model additional features
  • Stream of related activities: ?
  • Project: Implement a working prototype application of the new features


Part C

Intro to Bug Trackers

Part 1 - Bug Reports

This has changed - not all the columns are present

  • ID - bug id
  • Sev - how big impact
  • Pri - priority
  • OS - affected operating system
  • Product - affected product
  • Status - status of the bug
  • Resolution - if it has a resolution
  • Summary - description

https://bugzilla.gnome.org/show_bug.cgi?id=110897

  • Identify when the bug was submitted. - very long ago
  • Identify if there has been recent discussion about the bug? - no
  • 6.3 Is the bug current? - no but it's relevant
  • 6.4 Is the bug assigned? To whom? Dia maintainers
  • 6.5 Describe what you would need to do to fix the bug.
  • - Download source of DIA, experiment with changing pointed attributes manually, recompile it, test it is solved
  • - New preference should be created for that attribute if it's solved

Part 2 - Collective Reports

  • 3. 260 206
  • 4. positive trend
  • 5. Nicolas Dufresne (stormer), Michael Catanzaro, Milan Crha - important for quality control of the patches, experience, contact
  • 6. Dan Jacobson, Bastien Nocera, Jo - no - some overlap
  • 7. again some overlap, some overlap
  • 10. general class
  • 11. graphical, tabular activit; duplicates; patches; stack traces

Intro to GitHub (Activity)

https://github.com/ajanovski/git-activity

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox