mcrl2org / mcrl2 Goto Github PK
View Code? Open in Web Editor NEWThe Git repository for the mCRL2 toolset.
Home Page: https://mcrl2.org/
License: Boost Software License 1.0
The Git repository for the mCRL2 toolset.
Home Page: https://mcrl2.org/
License: Boost Software License 1.0
Issue migrated from trac ticket # 3
component: ATermpp Library | priority: major | resolution: fixed | keywords: atermpp
add atermpp algorithm library
Issue migrated from trac ticket # 21
component: squadt | priority: minor | resolution: fixed | keywords: squadt update empty layout
When generating a state space for abp.mcrl2 with lpe2lts via squadt, I get the following warning a number of times:
Warning : update operation on empty layout!
The update messages from lpe2lts are only generated after the status display is created (at least at the side of lpe2lts), so it seems to be a problem with squadt (or the communication between both).
Perhaps something related to ticket #8? I can imagine that these threads somehow mix up the order of message.
Issue migrated from trac ticket # 48
component: Build system | priority: major | resolution: fixed | keywords: configure enable static wxwidgets shared
Running "./configure --enable-static --with-wx=WXPATH; make install", where WXPATH is refers to a shared build of wxWidgets, gives the following error.
warning: On gcc, DLL can't be build with '<runtime-link>static'.
warning: It's suggested to use '<runtime-link>static' together with the '<link>static'.
error: unable to construct src/libraries/aterm/build/aterm
Issue migrated from trac ticket # 10
component: ATerm Library | priority: minor | resolution: fixed | keywords: C++ flags aterm
I get the following warning by running ./configure & make in a clean checkout:
gcc.compile.c++ /home/muck/MCRL2tmp/bin/gcc/release/address-model-32/atermpp.o
cc1plus: warning: command line option "-std=c99" is valid for C/ObjC but not for C++
Apparently the single C++ file is compiled with the same flags as the C files.
Issue migrated from trac ticket # 47
component: ltsgraph | priority: minor | resolution: fixed
Arrowheads on self loops occur at an odd place in ltsgraph. You may
consider to leave these arrowheads out at all.
(Found on ltsgraph on a mac)
Issue migrated from trac ticket # 7
component: lps2lts | priority: minor | resolution: invalid
While lpe2lts is running via squadt it is not visible to what file the result is being written and what file format is used. It would be nice if this info is visible somewhere.
Issue migrated from trac ticket # 17
component: squadt | priority: major | resolution: fixed | keywords: squadt radio button
Although radio buttons seem to work fine in the configuration panel, when the tool reads the configuration all radio buttons that have been selected at one time during configuration are selected.
This can be seen easily with the exploration strategy buttons of lpe2lts. There are currently debug prints that show which buttons are selected according to the configuration the tool gets. Just select breadth and run. This will give 'breadth selected' and 'depth selected'.
Issue migrated from trac ticket # 30
component: All | priority: major | resolution: fixed
When doing a make install, the directory share/mcrl2/examples and all its subdirectories contain a subdirectory .svn containing the file readme.txt.
Issue migrated from trac ticket # 36
component: mcrl22lps | priority: major | resolution: fixed | keywords: alpha beta
On the file nyce4000.mcrl2 (to be sent separately to Yaroslav)
the alpha beta axiomas are applied in such a way that odd errors
occur:
jfg@pclin123> mcrl22lpe nyce4000.mcrl2 temp.lpe
error: An allow operator occurs in the scope of pCRL operators in allow({enter_Normal_mode, leave_Normal_mode, enter_VCS_mode, leave_VCS_mode, enter_E_mode, leave_E_mode, enter_TTR_mode, leave_TTR_mode, enter_ETTR_mode, leave_ETTR_mode, enter_Motorized, leave_Motorized, enter_Float, leave_Float, enter_Local, leave_Local, enter_Remote, leave_Remote, Act_apply_Clutch, Act_release_Clutch, Act_light_visor_off, Act_Vert_motor_Up, Act_Vert_motor_Down, Act_Vert_motor_Stop, Act_FH_motor_to_FH_0, Act_FH_motor_to_FH_max, Act_FH_motor_Stop, fh_ref, fh_pos_is, vert_pos_is, virt_act_int, Rcv_MC_Sensor_Carrier_Added, Rcv_MC_Btn_Local_Remote, Snd_MC_Mode_Remote, Rcv_MC_Btn_Manual, Rcv_MC_Btn_Tumble_Up, Rcv_MC_Btn_Tumble_Down, Rcv_MC_Cmd_Go_Float, Rcv_MC_Cmd_Get_Status, Snd_MC_Reply_Status, Rcv_MC_Cmd_Get_Position_FH, Snd_MC_Reply_FH_Position_Is, Rcv_MC_Cmd_Get_Position_Vert, Snd_MC_Reply_Vert_Position_Is, Rcv_MC_Cmd_Get_Length, Snd_MC_Reply_Length_Is, Rcv_MC_Cmd_Set_Length, Rcv_MCB_Detect_Disconnect, Rcv_MCB_Detect_Connect, Rcv_MC_Cmd_Go_Motorized, Rcv_MC_Btn_Tumble_Ntrl, Rcv_MC_Sensor_FH_0, Rcv_MC_Sensor_Vert_max, Rcv_MC_Sensor_Vert_0, Rcv_MC_Btn_Stop, Rcv_MC_Btn_TTR, Rcv_MC_Sensor_Carrier_Removed}, MCB_VCS_No_Carrier(fh_pos, vert_pos, carrier_present, true, false, false)).
Please take care that the alpha beta rules are applied properly.
Issue migrated from trac ticket # 16
component: squadt | priority: major | resolution: fixed | keywords: squadt close open configuration segfault
Closing squadt when there are still some tools in their configuration phase (i.e. there is at least one open configuration panel) results in a segfault (or other random behaviour).
Issue migrated from trac ticket # 6
component: squadt | priority: major | resolution: fixed
In addition to being able to manually rerun a tool on some inputs to get it produce outputs it must be possible to do this operation at the level projects. There will be an update operation for the entire project, that conservatively (re)builds objects when needed.
Issue migrated from trac ticket # 13
component: ltsgraph | priority: minor | resolution: fixed
During optimisation, each node that has been locked triggers the system beep a few times per second. This feature is distracting instead of helpful.
Issue migrated from trac ticket # 25
component: All | priority: minor | resolution: fixed
When tools such as squadt, ltsgraph, ltsview and xsim are started on the commandline
their windows will stay on the background and cannot be selected (on mac). This does
not apply when clicking their icons in the mCRL2 directory.
Issue migrated from trac ticket # 32
component: squadt | priority: minor | resolution: wontfix
The message "Warning File Lost" "abp.lpe is replaced" does not hit the right
tone of voice. Please replace by "Warning" "abp.lpe is replaced".
Issue migrated from trac ticket # 28
component: squadt | priority: major | resolution: fixed
The protocol offers support to send reports but currently those are cast into the void. SQuADt must present these messages in a suitable manner to the user.
Issue migrated from trac ticket # 29
component: squadt | priority: major | resolution: fixed | keywords: squadt await_message duplicate
All tools implementing the squadt event loop processes messages twice because await_message(message_any) returns every message twice. This can be easily seen by adding some debug messages to the loop (if the behaviour is not observable without).
P.S.: This should actually be a ticket for the squadt library instead of squadt itself.
Issue migrated from trac ticket # 43
component: squadt | priority: minor | resolution: fixed
When a file exists in a project directory which is not part of the project
(because it does not show up in the squadt window, or is in any way related
to squadt) squadt states erroneously that "File is already part of the project"
and refuses to import it.
This indicates inconsistencies in the user interface, and certainly in
the perception of the user.
Issue migrated from trac ticket # 33
component: squadt | priority: critical | resolution: fixed
After generating a project, including an .mcrl2 file and generating
the .lpe file, squadt shows only one .lpe file. After closing the project
and opening the project again squadt shows multiple .lpe files
with the same name (on mac)
<?xml version="1.0" encoding="utf-8"?>
<squadt-project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project.xsd" version="1.0" count="6">
<description>Proef project voor squadt.</description>
<processor><output id="23615440" format="mcrl2" location="abp.mcrl2" identifier="0" digest="00000000000000000000000000000000" timestamp="1157611221"/>
</processor>
<processor tool-name="mcrl22lpe" format="mcrl2" category="Transformation"><configuration output-prefix="abp0001" category="Transformation"><option id="5"><boolean/></option><option id="16"><boolean/></option><option id="10"><boolean/></option><option id="13"><real value="0" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="11"><boolean/></option><option id="12"><boolean/></option><option id="14"><boolean/></option><option id="15"><boolean/></option><option id="4"><boolean/></option><option id="8"><boolean/></option><option id="3"><boolean/></option><option id="9"><boolean/></option><option id="6"><boolean/></option><option id="7"><boolean/></option><option id="2"><real value="1" minimum="1.79769e+308" maximum="2.22507e-308"/></option><object id="0" type="input" storage-format="mcrl2" location="abp.mcrl2"/><object id="1" type="output" storage-format="lpe" location="abp.lpe"/></configuration><input id="23615440"/>
<output id="194242656" format="lpe" location="abp.lpe" identifier="1" digest="00000000000000000000000000000000" timestamp="1157611239"/>
</processor>
<processor tool-name="mcrl22lpe" format="mcrl2" category="Transformation"><configuration output-prefix="abp0002" category="Transformation"><option id="2"><real value="1" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="5"><boolean/></option><option id="4"><boolean/></option><option id="12"><boolean/></option><option id="14"><boolean/></option><option id="15"><boolean/></option><option id="7"><boolean/></option><option id="16"><boolean/></option><option id="6"><boolean/></option><option id="11"><boolean/></option><option id="13"><real value="0" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="9"><boolean/></option><option id="10"><boolean/></option><option id="3"><boolean/></option><option id="8"><boolean/></option><object id="0" type="input" storage-format="mcrl2" location="abp.mcrl2"/><object id="1" type="output" storage-format="lpe" location="abp.lpe"/></configuration><input id="23615440"/>
<output id="194140368" format="lpe" location="abp.lpe" identifier="1" digest="00000000000000000000000000000000" timestamp="1157612159"/>
</processor>
<processor tool-name="mcrl22lpe" format="mcrl2" category="Transformation"><configuration output-prefix="abp0003" category="Transformation"><option id="16"><boolean/></option><option id="4"><boolean/></option><option id="6"><boolean/></option><option id="13"><real value="0" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="8"><boolean/></option><option id="2"><real value="1" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="9"><boolean/></option><option id="12"><boolean/></option><option id="10"><boolean/></option><option id="11"><boolean/></option><option id="14"><boolean/></option><option id="15"><boolean/></option><option id="5"><boolean/></option><option id="7"><boolean/></option><option id="3"><boolean/></option><object id="0" type="input" storage-format="mcrl2" location="abp.mcrl2"/><object id="1" type="output" storage-format="lpe" location="abp.lpe"/></configuration><input id="23615440"/>
<output id="23873792" format="lpe" location="abp.lpe" identifier="1" digest="00000000000000000000000000000000" timestamp="1157612231"/>
</processor>
<processor tool-name="lpe2lts" format="lpe" category="Transformation"><configuration output-prefix="abp0005" category="Transformation"><option id="4"><real value="0" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="9"><string maximum-length="4294967295"/></option><option id="8"><boolean/></option><option id="14"><string maximum-length="4294967295"/></option><option id="5"><real value="1" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="7"><string maximum-length="4294967295"/></option><option id="10"><boolean/></option><option id="1"><boolean value="true"/></option><option id="12"><string maximum-length="4294967295"/></option><option id="2"><boolean value="true"/></option><option id="13"><boolean/></option><option id="6"><boolean/></option><option id="3"><boolean value="true"/></option><option id="11"><string maximum-length="4294967295"/></option><option id="15"><string maximum-length="4294967295"/></option><option id="0"><boolean/></option><object id="1" type="input" storage-format="lpe" location="abp.lpe"/><object id="2" type="output" storage-format="aut" location="abp0005.aut"/></configuration><input id="194242656"/>
<output id="23522128" format="aut" location="abp0005.aut" identifier="2" digest="00000000000000000000000000000000" timestamp="1157612461"/>
</processor>
<processor tool-name="lpe2lts" format="lpe" category="Transformation"><configuration output-prefix="abp0006" category="Transformation"><option id="12"><string maximum-length="4294967295"/></option><option id="11"><string maximum-length="4294967295"/></option><option id="2"><boolean/></option><option id="3"><boolean value="true"/></option><option id="15"><string maximum-length="4294967295"/></option><option id="4"><real value="0" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="8"><boolean/></option><option id="13"><boolean/></option><option id="6"><boolean/></option><option id="10"><boolean/></option><option id="7"><string maximum-length="4294967295"/></option><option id="5"><real value="1" minimum="1.79769e+308" maximum="2.22507e-308"/></option><option id="9"><string maximum-length="4294967295"/></option><option id="0"><boolean/></option><option id="1"><boolean value="true"/></option><option id="14"><string maximum-length="4294967295"/></option><object id="1" type="input" storage-format="lpe" location="abp.lpe"/><object id="2" type="output" storage-format="svc" location="abp0006.svc"/></configuration><input id="194242656"/>
<output id="23929936" format="svc" location="abp0006.svc" identifier="2" digest="00000000000000000000000000000000" timestamp="1157612514"/>
</processor>
</squadt-project>
.
Issue migrated from trac ticket # 22
component: mcrl22lps | priority: trivial | resolution: fixed | keywords: mcrl22lpe empty display
In squadt mcrl22lpe should remove (or hide) its display after configuration is done. Now a empty useless display is left.
Issue migrated from trac ticket # 19
component: squadt | priority: minor | resolution: wontfix | keywords: squadt grid sizer
The current set of primitives to build forms with is perhaps a bit to minimal. A (simple) grid-like sizer should give a lot more flexibility in designing a nice interface.
Issue migrated from trac ticket # 8
component: squadt | priority: major | resolution: fixed
With the delivery of every incoming message a thread is created to do the delivery in the background. The drawback of this approach is that if messages arrive fast enough multiple threads may exist concurrently for delivery to the same task (this gives a higher overhead than necessary).
Issue migrated from trac ticket # 18
component: ltsgraph | priority: minor | resolution: fixed
According to the interface conventions (conventions/interface.txt
), every tool should have the option --version
, but ltsgraph doesn't.
This option should be added, return the following and terminate successfully:
ltsgrpah $VERSION (revision $REVISION)
where:
mcrl2_revision.h
Issue migrated from trac ticket # 46
component: squadt | priority: blocker | resolution: fixed
After generating the state space of the MPSU, with 30 states, Squadt goes down.
All the errors reported today are by the way on the powermac, with the newest
version of the toolset.
Issue migrated from trac ticket # 31
component: squadt | priority: critical | resolution: fixed
After making a new project (on mac), adding a file leads to the file being added to
the squadt window, but it does not appear in the project directory.
Subsequent operations are not able to find the file, and lead to
a "Sep 7 08:40:39 cannot open input file 'abp.mcrl2'".
Issue migrated from trac ticket # 38
component: SQuADT tools | priority: major | resolution: fixed
If a tools sends the message signal_done to SQuADT this means that the last operation has completed. The message has now been extended with data (a boolean) that also tells SQuADT whether the operation completed successfully or not. Tools must be adapted to add `false' to this message when the tool fails. Otherwise SQuADT will read the configuration submitted by the tool, and will assume that the output files that are described in the configuration object are files that are produced, or modified.
Issue migrated from trac ticket # 44
component: squadt | priority: major | resolution: fixed
Squadt does not start when its predestined socket is in use.
It even does not give a (graphical) error message.
This typically happens after squadt crashed.
Issue migrated from trac ticket # 45
component: squadt | priority: blocker | resolution: fixed
After applying mcrl22lpe in squadt on an mcrl2 file that contains
errors, closing the window with the errors leads to a crash of squadt.
Found while trying to analyse a Movable Patient Support Unit.
Issue migrated from trac ticket # 12
component: mcrl22lps | priority: trivial | resolution: fixed | keywords: unused static function mcrl22lpe
I get the following warning with ./configure & make:
src/mcrl22lpe/lin_std.cpp:437: warning: 'int existsorts(_ATermList*)' defined but not used
Issue migrated from trac ticket # 35
component: squadt | priority: minor | resolution: fixed
It must be possible to hide the tool display from the side of a tool. The verbosity level of SQuADT must also be sent to the connected tools for effective debugging.
Issue migrated from trac ticket # 39
component: squadt | priority: major | resolution: fixed
Possibility to use standard available editors (e.g text editors) from the SQuADT environment.
Issue migrated from trac ticket # 41
component: ltsgraph | priority: minor | resolution: fixed
Sometimes ltsgraph appears not to show the number of states, for instances
after reading a new graph.
Issue migrated from trac ticket # 4
component: ATermpp Library | priority: major | resolution: fixed | keywords: atermpp
add atermpp algorithm library
Issue migrated from trac ticket # 40
component: Build system | priority: minor | resolution: fixed | keywords: configure CADP BCG support
Add a check for CADP (or at least a flag) to enable CADP support in the toolset. Currently this consist of enabling BCG support in the LTS library.
This report should actually be in a "build system" (or something) component.
Issue migrated from trac ticket # 27
component: ltsgraph | priority: minor | resolution: fixed | keywords: ltsgraph open file filter
It would be nice to have a default filter for all supported LTS formats in the open dialog.
Issue migrated from trac ticket # 2
component: All | priority: minor | resolution: fixed | keywords: build dependency
When I change src/libraries/mcrl2_basic/source/rewrite/rewr_jittyc.cpp and rebuild lpe2lts the following files will be compiled for no obvious reason:
liblts.o
liblts_fsm.o
liblts_dot.o
liblts_red.o
libtrace.o
libenum.o
enum_standard.o
libnextstate.o
nextstate_standard.o
I would expect that only linking is really necessary in this case.
(And perhaps not even that, if the libraries are shared.)
Issue migrated from trac ticket # 11
component: Core: Parse Library | priority: trivial | resolution: fixed | keywords: unused static function parser
I get the following warning with ./configure & make:
src/libraries/parser/source/dataimpl.cpp:514: warning: 'bool data_decls_is_initialised(t_data_decls)' defined but not used
Issue migrated from trac ticket # 14
component: lpsxsim | priority: major | resolution: fixed
When trying to load the dynamic trace library, I get the following error message:[[BR]]undefined symbol: _ZTI25SimulatorViewDLLInterface
How to reproduce:
Views
menu, select Load dynamic...
bin/gcc/debug/address-model-32/libxsimtrace.so
from the repositoryNote also that:
libxsimtrace.so
is not installed when doing a make install
.bjam
is used as a build system, I have not been able to load the visualisation plugin of the parking garage as a dynamic library in xsim.Issue migrated from trac ticket # 51
component: Build system | priority: major | resolution: fixed | keywords: configure disable squadt support
$ ./configure --disable-squadt-support
...
$ make install
...
/home/muck/MCRL2cmp/boost/tools/build/v2/build/property.jam:296: in property.make from module property
error: '--disable-squadt-support' is not a valid for property specification
/home/muck/MCRL2cmp/boost/tools/build/v2/build/project.jam:617: in object(project-attributes)@28.set from module object(project-attributes)@28
/home/muck/MCRL2cmp/boost/tools/build/v2/build/project.jam:800: in project from module Jamfile</home/muck/MCRL2cmp>
Jamroot.jam:25: in modules.load from module Jamfile</home/muck/MCRL2cmp>
/home/muck/MCRL2cmp/boost/tools/build/v2/build/project.jam:306: in load-jamfile from module project
/home/muck/MCRL2cmp/boost/tools/build/v2/build/project.jam:68: in load from module project
/home/muck/MCRL2cmp/boost/tools/build/v2/build/project.jam:164: in project.find from module project
/home/muck/MCRL2cmp/boost/tools/build/v2/build-system.jam:147: in load from module build-system
/home/muck/MCRL2cmp/boost/tools/build/v2/kernel/modules.jam:261: in import from module modules
/home/muck/MCRL2cmp/boost/tools/build/v2/kernel/bootstrap.jam:132: in boost-build from module
/home/muck/MCRL2cmp/boost-build.jam:11: in module scope from module
make: *** [install] Error 1
Issue migrated from trac ticket # 24
component: squadt | priority: major | resolution: fixed
When creating a new project with the same name as an existing directory
squadt says that it will import the files in the directory into the project and
subsequently crashes (on the mac).
Issue migrated from trac ticket # 34
component: squadt | priority: critical | resolution: fixed
When starting ltsgraph in Squadt, it does not get a focus. This means
it can be seen as a window lying in the background, but it cannot be selected
and used. Oddly enough, the three red, yellow, green buttons at the left
top of the ltsgraph window do work (the window can for instance be closed)
but it still remains on the background.
Issue migrated from trac ticket # 5
component: squadt | priority: minor | resolution: fixed
Add a configuration dialog to SQuADt, where a user can see and adjust settings e.g. details about the tools that are available.
Issue migrated from trac ticket # 20
component: squadt | priority: major | resolution: fixed | keywords: squadt configuration add_option
Calling sip::configuration.add_option more than once for the same option results in a reasonably non-deterministic choice between one of the setted values.
Issue migrated from trac ticket # 15
component: squadt | priority: major | resolution: fixed | keywords: squadt abort invalid project
When one clicks on a directory in the open dialog squadt throws an exception but does not handle it (i.e. squadt is terminated). This happens when the directory contains a project.xml that apparently does not satisfy the format squadt expects. In my case this is because it is an old project.
Issue migrated from trac ticket # 26
component: squadt | priority: minor | resolution: fixed | keywords: squadt command line argument
It would be nice to be able to start squadt directly with a project via the command line.
Issue migrated from trac ticket # 37
component: All | priority: major | resolution: fixed
The file COPYING has GPL in it. Should it be LGPL?
There is no license information on the web site www.mcrl2.org
Issue migrated from trac ticket # 42
component: All | priority: critical
A clean rebuild of the toolset (without --enable-debug) results in an executable of mcrl22lpe that segfaults during typechecking (both via command line and SQuADT). On another machine type errors on missing standard types (like Bool) are reported (tried on fischer.mcrl2 and abp.mcrl2).
Issue migrated from trac ticket # 50
component: Build system | priority: major | resolution: wontfix | keywords: profiling shared library
After compiling the toolset with profiling, tool profiles only contain local functions. That is, libraries are not profiled.
For example, when one generates a state space, one gets only functions like generate_lts() with gprof lpe2lts. None of the imported functions show up.
Issue migrated from trac ticket # 49
component: ltsgraph | priority: minor | resolution: fixed
The edge control points of self loops seem to be dragable no further than the node-radius. I should look into this, if time permits.
Issue migrated from trac ticket # 23
component: squadt | priority: minor | resolution: fixed | keywords: squadt set option
Currently there is no (real) support to change the value of an squadt configuration option once it is set. It might be useful (or even necessary) to add this. Consider for example the changing of a configuration by the user. It would be much nicer if one can update the configuration instead of creating a new one.
I suggest to do this by, besides adding a set_argument-like function, adding a function set_value (or something similar) that sets the first argument or adds it, if it did not yet exist. The reason for this is that options are mostly single value options and it would be nice to allow one to use it like such.
Issue migrated from trac ticket # 9
component: Core: Type-checker Library | priority: major
Type-checking errors currently only contain the minimum amount of information as to what is wrong and where. It impossible at the moment, but eventually it is necessary. So I list it here as an enhancement proposal for the future.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.